“ Firebase Auth”自定义声明最终是否一致?

时间:2019-10-03 19:18:41

标签: firebase firebase-authentication firebase-admin

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

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

1 个答案:

答案 0 :(得分:2)

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

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

  2. 在后端更改自定义声明后发生的客户端令牌刷新将导致客户端看到新的声明。您将需要确保客户端不会刷新,直到成功提交声明为止,这样就不会出现争用情况。这可能涉及通过更改实时数据库或Cloud Firestore中的内容向后端发出信号,从而向侦听客户端指示是时候刷新声明了。您可以使用一个时间戳,该时间戳指示用户最后一次写声明的时间,客户端可以将其与上次刷新的时间进行比较。