0

最近还为 Python引入了 FB Admin SDK ,这里是一个带有一些示例的 repo 。

很高兴我可以使用凭据进行身份验证,最后我有一个经过firebase_admin身份验证的也可以创建自定义令牌。但是,它对 REST API 的请求有何帮助?我可以检索我的身份验证令牌并将其设置为授权标头以执行 API 请求吗?

4

1 回答 1

6

您应该能够通过调用get_access_token()凭证上的方法来获取 OAuth 令牌,然后将其传递给 REST API,如此处所述

但是,在 Python Admin SDK v1.0.0 中,返回的凭据不包含 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
于 2017-04-26T20:23:52.590 回答