auth.uid和auth.token.sub在firebase实时数据库安全规则中有什么区别



firebase实时数据库安全规则中的auth.uidauth.token.sub有什么区别?

我认为它们是相同的(用户只有1个UID),但是他们有不同的描述,很想知道一个确定的答案。

auth.uid:唯一的用户ID,保证在所有提供商中都是唯一的。

auth.token.sub:用户的firebase uid。这在项目中是唯一的。

欢呼

它们完全相同。为向后兼容提供了auth.uidauth.token在安全规则中不存在),并且使用易用:sub对于ID而言并不是一个通常的术语,而uid则更容易理解,并且您不理解必须潜入令牌内容。

auth.token.sub是代币中编码的ID。Firebase Admin SDK具有用于验证和解码ID令牌的内置方法。如果提供的ID令牌具有正确的格式,则未过期并正确签名,则该方法将返回解码的ID令牌。您可以从解码令牌中获取用户或设备的UID。

,这意味着在令牌内。您拥有用户的UID。但是,如果没有SDK,您将看不到实际值原因不是解码。这是为了安全。

如果要使用此功能,则需要用示例verifyIdToken()方法来解码。

node.js

上的示例
// idToken comes from the client app (shown above)
admin.auth().verifyIdToken(idToken)
  .then(function(decodedToken) {
    var uid = decodedToken.uid;
    // ...
  }).catch(function(error) {
    // Handle error
  });

链接在此处https://firebase.google.com/docs/auth/admin/admin/verify-id-tokens

希望有帮助。

相关内容

最新更新