【问题标题】:How many custom claims can one user account have in Firebase Auth?一个用户帐户在 Firebase 身份验证中可以拥有多少个自定义声明?
【发布时间】:2022-01-06 17:43:30
【问题描述】:

我最近尝试设置自定义声明,并注意到我之前添加自定义声明的帐户丢失了这些声明。我知道它们设置正确,所以经过一些测试后,我注意到它们似乎被新的自定义声明覆盖了。

我想知道这是否是故意的,这是否意味着一次只能对用户帐户设置一个自定义声明?如果是这样,如何为单个 Firebase Auth 帐户设置多个访问权限? (例如:marketingITadminsupport 等)

【问题讨论】:

    标签: firebase firebase-authentication


    【解决方案1】:

    每个帐户只有一个“blob”自定义声明。这个 blob 有 1000 字节的限制,如 documentation 中所述:

    自定义声明负载不得超过 1000 字节。

    提供的与自定义声明一起使用的 SDK 将此数据块解释为 JSON 对象,因此您可以在其中放入任何可以表示为 JSON 的内容。

    当您设置新的自定义声明时,它会覆盖旧声明。这在documentation中也有说明:

    注意:此操作始终会覆盖用户现有的自定义声明。但是,如果在通过自定义身份验证登录的用户上定义了相同的自定义用户声明,则自定义令牌中定义的重叠声明具有更高的优先级,并且始终会覆盖通过此 API 在用户上定义的自定义用户声明。

    因此,如果您想修改声明,则需要阅读它们,修改该 blob,然后将修改后的 blob 写回 Firebase

    【讨论】:

    • 啊,我明白了,谢谢。因此,看起来多个声明必须嵌套在该 blob 中。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 2016-10-11
    • 2021-12-04
    • 1970-01-01
    • 2016-06-29
    • 2017-08-22
    • 2016-10-18
    相关资源
    最近更新 更多