首页 > 解决方案 > 是否可以检测到当前用户使用 `signInWithCustomToken` 方法登录?

问题描述

我想使用createCustomTokensignInWithCustomToken方法来实现用户模拟。是否有可能以某种方式告诉当前用户已登录signInWithCustomToken以检测当前用户模拟正在发生?我想我可以在成功后向本地存储写入一些东西,signInWithCustomToken但也许有更好的方法来做到这一点?

标签: firebasefirebase-authentication

解决方案


使用自定义令牌登录时,ID 令牌将包含指定此的声明。tokenObject.firebase.sign_in_provider将是平等custom的。

在验证服务器端时,您可以使用verifyIdToken并检查它。

Firebase Auth 指定获取此客户端的 API:

firebase.auth().currentUser.getIdTokenResult()
  .then((result) => {
    // Will output `custom`.
    console.log(result.claims.firebase.sign_in_provider);
  });

推荐阅读