【问题标题】:Are "Firebase Auth" custom claims eventually consistent?“Firebase Auth”自定义声明最终是否一致?
【发布时间】:2020-02-02 03:40:05
【问题描述】:

我正在使用 Firebase Auth 进行 SMS 登录,并且我想向新用户添加对令牌的自定义“countryCode”声明。 Android 应用程序验证短信代码后,它会调用我后端的帐户服务来创建新帐户并 在该步骤中,使用 Firebase Admin SDK 添加自定义声明。 应用需要执行强制刷新令牌来获取新的声明。

我需要知道添加“声明”后更新是否最终一致。 如果最终一致,我不能保证刷新的令牌具有新的声明。

【问题讨论】:

    标签: firebase firebase-authentication firebase-admin


    【解决方案1】:

    我不完全确定您在这种情况下所说的“最终一致”是什么意思,但您可以确定这两种情况是可靠的:

    1. 使用 Firebase Admin SDK 成功编写声明后,立即调用以使用 SDK 重新读取声明将返回与之前编写的声明相同的声明。

    2. 在更改后端的自定义声明后发生的客户端令牌刷新将导致客户端看到新的声明。您需要确保在成功提交声明之前客户端不会刷新,这样就不会有竞争条件。这可能涉及通过更改实时数据库或 Cloud Firestore 中的某些内容向前端发出后端信号,以向侦听客户端指示是时候刷新声明了。您可以使用时间戳来指示用户上次写入声明的时间,客户端可以将其与上次刷新的时间进行比较。

    【讨论】:

    • 当后端服务响应 201 时,应用执行强制刷新
    猜你喜欢
    • 2020-01-20
    • 1970-01-01
    • 2019-03-24
    • 2020-07-09
    • 2020-06-24
    • 1970-01-01
    • 2021-12-31
    • 2016-01-06
    • 2019-07-02
    相关资源
    最近更新 更多