Firebase身份验证自定义声明过期



我在应用程序中使用自定义声明来允许访问它的某些功能。我在用户登录后设置声明。之后我不会更改自定义声明。

一切似乎都很好,但上次我收到了很多用户的请求,他们无法访问这些功能。从Cloud Functions中,我可以看到他们的声明(一个特定的声明,我不记录所有的声明(或所有的令牌都是";未定义";。在云功能中,我做

console.log("claims: " + context.auth.token.claimid);

结果是";权利要求:未定义的";

这些用户对这个应用程序并不陌生,他们会使用几个月。我确信他们之前有代币和索赔,否则该应用程序将不适用于他们。

问题是:自定义索赔是否过期?还是代币?我使用匿名身份验证,该应用程序适用于iOS(Android用户似乎没有这个问题(。

更新

似乎问题出现了,因为我们更改了应用程序捆绑包id并导入了新的谷歌服务plist文件。在那之后,老用户获得了新的匿名身份验证配置文件,没有自定义声明,而不是获得他们的旧身份验证配置。

自定义声明不会过期。它们保留在用户的令牌中,直到您设置新的自定义声明为止。

因此,最合乎逻辑的解释是,不知何故,为同一用户进行了另一个设置自定义声明的调用,但没有任何声明。根据您共享的内容,我们无法知道该调用来自何处,但我建议搜索使用Admin SDK的其他代码/开发人员。

相关内容

  • 没有找到相关文章

最新更新