Аутентификация с JWT-токеном
JWT позволяет войти в систему и использовать сервисы Firebase, такие как Firebase Database и push-уведомления, с помощью учетной записи, созданной на вашем собственном сервере или бэкенде.

При аутентификации с JWT-токеном вы отправляете учетные данные для входа, такие как email и пароль, на ваш сервер через конечную точку API. Сервер создает учетную запись пользователя, генерирует пользовательский JWT-токен и возвращает его в приложение. Этот JWT-токен позволяет войти в Firebase и получить доступ к ег о сервисам.
Подробнее о Firebase и JWT-токенах можно узнать здесь.
Добавление аутентификации с JWT-токеном
Давайте создадим пример, в котором используется JWT-токен для входа в приложение. Вот как это выглядит после завершения:

Перед началом работы с этим разделом:
- Завершите настройку Firebase.
- Завершите начальную настройку, необходимую для аутентификации.
Добавление аутентификации с JWT-токеном включает следующие шаги:
- Добавление API для входа
- Добавление страницы входа
- Добавление действия входа
- Добавление действия выхода
- Проверка создания пользователя
1. Добавление API для входа
Вы должны создать конечную точку API на вашем сервере, которая принимает email/имя пользователя и пароль. Если учетные данные верны, она генерирует JWT-токен и возвращает его в ответе.
На сервере вы можете генерировать JWT-токен с помощью Firebase Admin SDK или библиотеки JWT от третьей стороны. Подробные инструкции можно найти здесь.
В качестве альтернативы вы можете интегрировать аутентификацию Supabase в приложение и использовать JWT-токен, сгенерированный после создания учетной записи.
Конечная точка API должна быть похожа на следующую (Совет: Разверните и посмотрите раздел '200 OK'):
API для входа, которое нужно создать на сервере
POST /login
Тело запроса
| Name | Type | Description |
|---|---|---|
| email* | String | |
| password* | String |
200: OK
{
"user": {
"id": 1,
"role_id": 1,
"name": "james",
"email": "james@yopmail.com"
},
"token_type": "Bearer",
"expires_in": 3600,
"jwt_token": "eyJraWQiOiItSE5TUmtwMWdXcG9QcC1wWVBmU1U4UW1fdng4Q0VwdzRSdTZTQU9WLThRIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULi1PaG5EdWREUG9qWklsZjMtVDRVWHlTWW5ERElHQ3dYTUdQcXk1c1JUbjAub2FydGh3ZmxpbzhZOVZJbHc0eDYiLCJpc3MiOiJodHRwczovL2Rldi00NTc5MzEub2t0YS5jb20vb2F1dGgyL2F1c2hkNGM5NVF0RkhzZld0NHg2IiwiYXVkIjoiYXBpIiwiaWF0IjoxNjU5MDAyOTQ5LCJleHAiOjE2NTkwMDY1NDksImNpZCI6IjBvYWhkaGprdXRhR2NJSzJNNHg2IiwidWlkIjoiMDB1aGVuaDFwVkRNZzJ1ZXg0eDYiLCJzY3AiOlsib2ZmbGluZV9hY2Nlc3MiXSwiYXV0aF90aW1lIjoxNjU5MDAyOTQ5LCJzdWIiOiJhcGktdXNlcjRAaXd0Lm5ldCJ9.g2TyTQECo-HCSjn58Fmazki8DBCtCq2hkG6OGQOJgr0JUq3uHgj8ulojoBI5ckv3e3TcVGFg1x9KknSwgiZo0LxRpbAdbF27hfF8truExjEv7hGKoV_oAOaiD56be5K-HjYkp6j-b5S6gXe4N10T1NtovLI7L6MZvmqCL_26qzXni5hNkCjgRm8Rd6GnJwbjDLpV3snp51bVNYNqhoAhOPBqjmOErFQvO2Wmfkj8DuVXzsvRqm_xfb8-7Oosx5oGVMVR3liXW5NZsRWes4TXXwsEou3qCyVy5fAhzm7rKjIk1zWv9vm0IOWMFwHHYTgEc_LTYWMovWtkuBx4ia546Q",
"refresh_token": "dlIOQHHAmweyOrVkDlpNYpi1XM-DwX5Cgx70LoKIbTI"
}
В большинстве случаев контент приложения становится доступным сразу после создания новой учетной записи. Поэтому вы также должны генерировать и возвращать JWT-токен при успешном выполнении API создания учетной записи и использовать его для входа в Firebase.
Если вы хотите протестировать аутентификацию с JWT-токеном без создания конечной точки API прямо сейчас, вы можете сгенерировать JWT-токен локально для тестирования.
2. Добавление страницы входа
Добавьте страницу входа из шаблонов и выберите Authenticate Solo Alt в разделе Auth. Совет: После добавления удалите другие кнопки входа через социальные сети.
