Получите токены доступа текущих пользователей из Firebase в React Native - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь получить маркер доступа аутентификации Firebase в приложении React Native, чтобы я мог аутентифицировать свои вызовы API на пользовательском сервере. Документация Firebase говорит, что я должен получить этот токен с помощью auth().currentUser.getIdToken();, однако currentUser возвращает null.

Я пытался использовать getIdToken() в нескольких областях приложения. Я знаю, что токен доступа генерируется так, как я вижу его в журналах при использовании expo (user.stsTokenManager.accessToken).

Почему currentUser возвращает null и как я могу получить accessToken?

1 Ответ

0 голосов
/ 02 апреля 2019

Вам нужно обернуть user.getIdToken() внутри firebase.auth().onAuthStateChanged, чтобы user был доступен. Затем вы можете использовать jwtToken в своем заголовке для аутентификации ваших вызовов API. Вам нужно импортировать ваш файл конфигурации Firebase, чтобы это работало.

let jwtToken = firebase.auth().onAuthStateChanged(function(user) {
    if (user) {
      user.getIdToken().then(function(idToken) {  // <------ Check this line
          alert(idToken); // It shows the Firebase token now
          return idToken;
      });
    }
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...