Как получить идентификатор Facebook от администратора Firebase? - PullRequest
0 голосов
/ 18 мая 2018

Я использую Firebase Admin для входа в мое приложение NodeJs.Клиент войдет в систему, отправив idToken (который получен из Firebase), а затем сервер NodeJ получит пользователя с помощью admin.auth (). VerifyIdToken (idToken).

Результат будет выглядеть следующим образом:

{ iss: 'https://securetoken.google.com/myapp-5cde1',
  name: 'Manh Hung',
  picture: 'https://graph.facebook.com/185960225411xxx/picture',
  aud: 'xxxxxx-5cde1',
  auth_time: 1526626xxx,
  user_id: 'uCxxxxxxxxxxxxxxxQR4d2',
  sub: 'uCwNoxxxxxxxxxxxxxxuQR4d2',
  iat: 15266xxx1,
  exp: 15266xxx91,
  firebase:
   { identities: { 'facebook.com': [Array] },
     sign_in_provider: 'facebook.com' },
  uid: 'uCxxxxxxxxxxxxxxxQR4d2' 
}

Да, я получил способ регистрации пользователя через Facebook через "sign_in_provider: 'facebook.com'".Но я не знаю, как получить идентификатор пользователя в Facebook.Может кто-нибудь дать мне совет?Огромное спасибо!

1 Ответ

0 голосов
/ 21 мая 2018

Эта конкретная информация не будет доступна в идентификационном токене.Вам нужно будет использовать Firebase Admin SDK для поиска пользователя и проверки провайдера:

admin.auth().getUser(uid)
  .then(function(userRecord) {
    // Assuming the first provider linked is facebook.
    // The facebook ID can be obtained as follows.
    console.log(userRecord.providerData[0].uid);
  })
  .catch(function(error) {
    console.log("Error fetching user data:", error);
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...