SDK администратора Firebase — Python

Недавно для Python тоже, а вот репозиторий с некоторыми примерами.

Хорошо, что я могу аутентифицироваться, используя учетные данные, и, наконец, у меня есть аутентифицированный firebase_admin, который также может создавать пользовательские токены. Но как это может помочь, например, выполнять запросы к REST API? Могу ли я получить свой токен аутентификации и установить его в качестве заголовка авторизации, возможно, для выполнения запросов API?


person ingaham    schedule 26.04.2017    source источник


Ответы (1)


Вы должны иметь возможность получить токен OAuth, вызвав метод get_access_token() для своих учетных данных, а затем передать его REST API, как описано здесь.

Однако в версии 1.0.0 Python Admin SDK возвращаемые учетные данные не содержат области действия Firebase. Поэтому токен OAuth, полученный из учетных данных, не будет легко работать с REST API. Это ошибка, и она будет устранена в следующем выпуске. Тем временем вы можете использовать следующий трюк:

from firebase_admin import credentials

scopes = [
    'https://www.googleapis.com/auth/firebase.database',
    'https://www.googleapis.com/auth/userinfo.email'
]

cred = credentials.Certificate('path/to/serviceKey.json')
token = cred.get_credential().create_scoped(scopes).get_access_token().access_token
# Pass token to REST API

В будущем выпуске, как только ошибка будет исправлена, вам нужно будет сделать следующее:

from firebase_admin import credentials

cred = credentials.Certificate('path/to/serviceKey.json')
token = cred.get_access_token().access_token
# Pass token to REST API
person Hiranya Jayathilaka    schedule 26.04.2017