🛠 Дополнительные методы и FAQ по авторизации

В этом разделе собраны специфические методы аутентификации, решения редких ошибок и ответы на архитектурные вопросы.

🟢 Аутентификация через WhatsApp

Альтернатива SMS и Telegram, особенно популярная в Латинской Америке и некоторых сегментах СНГ.

Интеграция через Whapi.cloud:

  1. Зарегистрируйтесь на Whapi.cloud.
  2. Создайте канал и сканируйте QR-код для привязки номера.
  3. В FlutterFlow создайте API Call (POST):
    • URL: https://gate.whapi.cloud/messages/text
    • Headers: Authorization: Bearer [YOUR_API_KEY], Content-Type: application/json
    • Body (JSON):
      {
        "typing_time": 0,
        "body": "Ваш код подтверждения: 1234",
        "to": "<phone_number>"
      }

🔑 Кастомная аутентификация (Custom Auth / JWT)

Если стандартные методы Firebase/Supabase не подходят, используйте Custom Authentication.

Полезные ссылки:

Проблема: Истечение токена (401 Error)

При использовании Infinite Scroll в API-запросах токен может истечь в процессе прокрутки.

  • Решение: Проверяйте token_expired_time перед выполнением запроса или используйте Refresh Token логику. Если запрос вернул 401, показывайте кнопку «Обновить сессию», которая инициирует обновление токена и Refresh Database Query.

❓ Часто задаваемые вопросы (FAQ)

Как определить начальный экран (Log In vs Home)?

Если ваше приложение построено полностью на API:

  1. На странице авторизации (On Page Load) добавьте Conditional Action.
  2. Проверяйте состояние сессии (например, наличие токена в App State).
  3. Если токен валиден — переход на Home, иначе — оставляем на Login.

Ошибка: Пользователь создается в Auth, но не в Firestore

Если запись в базе данных не появляется:

  • Проверьте настройки Firebase во FlutterFlow.
  • Убедитесь, что поле “Create User Document” включено.
  • Проверьте Firestore Rules — возможно, база запрещает запись новому пользователю.

Telegram Web App (TMA)

Для получения chat_id пользователя в Web App, открытом внутри Telegram:

  • Не пытайтесь делать проверку только на фронтенде (это небезопасно).
  • Передавайте данные инициализации на свой бэкенд, проверяйте подпись Telegram и генерируйте свой JWT для FlutterFlow.

📺 Подборки видео