使用自定义声明导入 Firebase 用户
Posted
技术标签:
【中文标题】使用自定义声明导入 Firebase 用户【英文标题】:Import Firebase User with Custom Claims 【发布时间】:2020-01-30 19:10:42 【问题描述】:我正在尝试按照 docs available here 使用 firebase CLI 导出和导入用户。我的问题是我还想导出用户声明,或者至少能够在导入用户时包含自定义声明。
基本上导出我在 CLI 上运行:
firebase auth:export test.json --format=json
要导入我在 CLI 上运行:
firebase auth:import test.json \ --hash-algo:scrypt
导出的用户不持有自定义声明信息。
目前,我正在处理 2 个自定义声明,管理员和访问权限,与 described here 差不多。
问题是我无法在没有返回错误的情况下将声明包含在文件中。使用自定义声明导入用户是否可行,如果不可行,正确的程序是什么?
【问题讨论】:
你能分享一些代码吗?像这样很难理解你的问题 添加了关于我在 cli 上运行的代码的信息,这是文档中提到的内容。 可以确认auth:export
不包含自定义声明。
这里有同样的问题。希望在导出 auth 用户时获得用户声明,但找不到方法。
【参考方案1】:
如果 CLI 未导出声明,则您必须使用 Firebase Admin SDK 到 work with custom claims。您的代码将迭代每个 UID,获取声明并将它们存储在某处,然后在需要导入时更新声明。
【讨论】:
不是我正在寻找的解决方案。第一次部署应用程序时,我必须能够与具有管理员声明的用户一起部署它,否则该用户将永远无法登录。这个想法类似于部署应用程序,如 Joomla、Wordpress 等。您设置管理员用户的信息以便继续。 如果 CLI 没有按照您想要的方式执行导入和导出,我会说这可能是您唯一的选择,除非您想修改 CLI。源代码在这里:github.com/firebase/firebase-tools以上是关于使用自定义声明导入 Firebase 用户的主要内容,如果未能解决你的问题,请参考以下文章
从 Flutter 为 Firebase 身份验证设置自定义声明
如何在 Firebase 中创建基于角色的访问控制或自定义声明
AD B2C 自定义策略自定义声明出现错误“无法验证提供的信息”。注册时