Аутентификация Firebase с пользовательским бэкэндом - PullRequest
0 голосов
/ 16 декабря 2018

Я планирую использовать Firebase для аутентификации для своего приложения iOS.Но я хочу использовать пользовательский бэкэнд для остальных API REST.Как я могу добавить авторизацию для пользователей, прошедших аутентификацию с помощью Firebase, в моем пользовательском бэкэнде?Можем ли мы использовать как пользовательскую серверную, так и базовую аутентификацию?Как мне поддерживать сеанс, используя Firebase и пользовательский бэкэнд?

1 Ответ

0 голосов
/ 16 декабря 2018

Вы можете проверить токен на своем внутреннем сервере с помощью Firebase Admin SDK.

Таким образом, в приложении вы получите токен доступа Firebase и отправите его на свой сервер.На IOS вы делаете:

FIRUser *currentUser = [FIRAuth auth].currentUser;
[currentUser getIDTokenForcingRefresh:YES
                       completion:^(NSString *_Nullable idToken,
                                    NSError *_Nullable error) {
      if (error) {
        // Handle error
        return;
      }

      // Send token to your backend via HTTPS
      // ...
  }];

Подробнее здесь: https://firebase.google.com/docs/auth/admin/verify-id-tokens#retrieve_id_tokens_on_clients

На сервере вы делаете:

admin.auth().verifyIdToken(idToken)
.then(function(decodedToken) {
  var uid = decodedToken.uid;
  // ...
}).catch(function(error) {
  // Handle error
});

Как видите, вы даже получаете«UID» пользователя.Больше информации здесь: https://firebase.google.com/docs/auth/admin/verify-id-tokens

...