Firebase 管理 SDK - Python
Firebase Admin SDK - Python
最近 FB Admin SDK introduced for Python as well, and here is a repo with some samples。
很高兴我可以使用凭据进行身份验证,最后我获得了 firebase_admin
身份验证,它也可以创建自定义令牌。但是它如何帮助请求 REST API 例如?我可以检索我的身份验证令牌并将其设置为授权 header 也许可以执行 API 请求吗?
您应该能够通过在您的凭据上调用 get_access_token()
方法来获取 OAuth 令牌,然后按照 here.[=14 所述将其传递给 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
最近 FB Admin SDK introduced for Python as well, and here is a repo with some samples。
很高兴我可以使用凭据进行身份验证,最后我获得了 firebase_admin
身份验证,它也可以创建自定义令牌。但是它如何帮助请求 REST API 例如?我可以检索我的身份验证令牌并将其设置为授权 header 也许可以执行 API 请求吗?
您应该能够通过在您的凭据上调用 get_access_token()
方法来获取 OAuth 令牌,然后按照 here.[=14 所述将其传递给 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