首页 > 解决方案 > Firebase 身份验证,如何检测页面是重定向结果(或重定向到特定 url)?

问题描述

我正在使用 Firebase Javascript SDK 使用重定向方法向 Google 进行身份验证:

...
firebase.auth().signInWithRedirect(provider);
...

问题是当且仅当页面未从 Google 登录重定向时,我想在页面加载期间自动登录。(防止永无止境的循环)

如何检测页面是否是原始页面而不是重定向页面?

标签: javascriptfirebase-authenticationgoogle-signin

解决方案


相信你正在寻找.getRedirectResult()

如果登录成功,则返回登录用户。如果登录不成功,则失败并出现错误。如果未调用重定向操作,则返回带有 null 用户的 UserCredential。

async function checkRedirect() {
  const auth = firebase.auth();
  const result = await auth.getRedirectResult();
  if(result.user !== null) {
    // redirect 
  } else {
    // not a redirect
  }
}

推荐阅读