【发布时间】:2020-12-26 12:41:50
【问题描述】:
我正在尝试通过访问受限的 REST API 访问我的 Firbase 实时数据库。在 python 中,我会从服务帐户文件 google-services.json 生成访问令牌。像这样:
cred = credentials.Certificate("/PATH_TO_google-service.json")
token = cred.get_access_token().access_token
然后使用此令牌与 Firebase DB REST API 进行通信。
我在 Flutter(或 Dart 库)中找不到库或方法。我查看了googleapis_auth 并使用了ServiceAccountCredentials.fromJson({...}),但找不到获取访问令牌的方法。
如何获取访问令牌?有专门的库吗?
【问题讨论】:
-
您可以编写代码自己解析 JSON 并将结果用于您的 API 请求。我不相信有提供的库,因为 Flutter 旨在在客户端应用程序代码中运行,并且应用程序代码使用服务帐户凭据是一个巨大的安全问题。服务帐号应在安全的后端使用,因为它们有权访问 Google Cloud 项目。客户端应用应使用 Firebase 身份验证来登录最终用户并授予用户级访问权限。
标签: firebase flutter dart access-token service-accounts