Как получить токен доступа провайдера в функциях Firebase?

1

Я планирую написать функцию Firebase при создании пользователя аутентификации. Моя цель - получить длинный токен доступа для пользовательской страницы Facebook.

Для этого мне нужен токен доступа пользователя в функциях Firebase. Пробовал ниже..,

exports.saveLongLiveToken = functions.auth.user().onCreate(event => {
  console.log(event.providerData)
})

Я, хотя providerData будет иметь информацию о учетных данных Facebook, но вместо этого я получил только неопределенный.

Примечание. В случае, когда я оказался ниже

{ data: 
   { displayName: 'Rob',
     email: '[email protected]',
     metadata: 
      { createdAt: 2017-08-23T18:58:34.000Z,
        lastSignedInAt: 2017-08-23T18:58:34.000Z },
     photoURL: 'http...',
     providerData: [ [Object] ],
     uid: 'xfff...' },
  eventId: 'xxx',
  eventType: 'providers/firebase.auth/eventTypes/user.create',
  notSupported: {},
  resource: 'projects/fiobot-4fa94',
  timestamp: '2017-08-23T18:58:34.571Z',
  params: {} }
Теги:
firebase
google-cloud-functions
firebase-authentication

1 ответ

1

Если вы входите в Firebase Auth signInWithPopup/Redirect, вы сможете получить токен доступа после входа в систему. Firebase Auth не сохраняет его для вас (он также не сохраняет токен обновления Facebook). Вам нужно будет сохранить его в базе данных, где доступ к нему может получить только указанный пользователь, а SDK администратора через функции Firebase может позволить вам получить к нему доступ. Если вы считаете, что Firebase Auth должен управлять токенами OAuth для поставщиков, отправьте запрос через каналы поддержки Firebase. Если это необходимо для функциональности вашего приложения, вы можете использовать API Facebook для входа в систему и получить токен доступа к Facebook и войти в систему с помощью firebase.auth().signInWithCredential(firebase.auth.FacebookAuthProvider.credential(fbAccessToken)) Facebook клиентский API может управлять токеном OAuth для вас. Вы также можете использовать библиотеку backend OAuth node.js, чтобы обновлять токены Facebook через функции Firebase каждый раз, когда вам это нужно. Однако вам нужно будет получить токен обновления Facebook.

  • 0
    Мой единственный вопрос - как получить токен доступа в моих функциях firebase cloud nodejs, и спасибо за ваш ответ. Я подам заявку в службу поддержки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню