zac*_*din 3 firebase firebase-authentication firebase-admin
为所有 Firebase 用户设置第一个自定义声明的标准、安全方法是什么?
Firebase 提供了一些很棒的文档和示例来理解和使用自定义声明(例如这个很棒的视频示例),但大多数示例使用现有的自定义声明来授权创建其他自定义声明;截至本文,Firebase 控制台无法设置/编辑/查看自定义声明,也无法通过 CLI 设置自定义声明。
以下是我正在考虑的一些选择:
您是否遇到过这个问题并更优雅地解决了它?
没有真正的标准方法来设置自定义声明。如您所知,唯一的限制是它们只能通过 Firebase Admin SDK 从特权服务器环境设置,即从您的一台服务器设置,或者通过云功能更简单、更面向无服务器。
所以,在这个限制之内,你可以做任何你想做的事。IMO,你问题中的前两个选项是完全有效且良好的。大约一年前,我写了一篇文章(如何创建管理模块来管理 Firebase 用户访问和角色),其中我们使用可调用云函数来完成这项工作。如今,在我的大多数项目中,我更喜欢使用触发 Cloud Function 的 Firestore 集合,但它或多或少是等效的(本文中的 Callable Cloud 函数实际上创建了一个 Firestore 文档)。
在本文中,我分享了创建第一个声明(我将其称为管理员用户声明)的简单方法:使用通过在临时、安全的 Firestore 集合中创建文档来触发的临时云函数。这不是一个非常复杂和优雅的方法,但它可以完成工作......
关于您的第三个选项(“忽略创建第一个自定义声明的安全性”),我认为您不需要也不应该这样做。
您可以按照文章和上面的描述进行操作。简而言之:
您已完成并且没有安全漏洞。
最后,值得注意的是,今年 1 月推出了一个新的实验性扩展,专门用于通过 Firestore 设置声明。请参阅此处和此处。
| 归档时间: |
|
| 查看次数: |
1777 次 |
| 最近记录: |