【问题标题】:Firebase Admin SDK - PythonFirebase 管理员 SDK - Python
【发布时间】:2017-09-23 14:51:51
【问题描述】:
最近,FB Admin SDK 也是用于 Python 的 introduced,这里有一个带有一些 samples 的 repo。
很高兴我可以使用凭据进行身份验证,最后我有一个经过身份验证的firebase_admin,它也可以创建自定义令牌。但是它对 REST API 的请求有什么帮助呢?我可以检索我的身份验证令牌并将其设置为授权标头以执行 API 请求吗?
【问题讨论】:
标签:
python
firebase
firebase-authentication
firebase-admin
【解决方案1】:
您应该能够通过在您的凭证上调用 get_access_token() 方法来获取 OAuth 令牌,然后按照 here 的描述将其传递给 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