javascript - Firebase 身份验证,如何检测页面是重定向结果(或重定向到特定 url)?
问题描述
我正在使用 Firebase Javascript SDK 使用重定向方法向 Google 进行身份验证:
...
firebase.auth().signInWithRedirect(provider);
...
问题是当且仅当页面未从 Google 登录重定向时,我想在页面加载期间自动登录。(防止永无止境的循环)
如何检测页面是否是原始页面而不是重定向页面?
解决方案
相信你正在寻找.getRedirectResult()
。
如果登录成功,则返回登录用户。如果登录不成功,则失败并出现错误。如果未调用重定向操作,则返回带有 null 用户的 UserCredential。
async function checkRedirect() {
const auth = firebase.auth();
const result = await auth.getRedirectResult();
if(result.user !== null) {
// redirect
} else {
// not a redirect
}
}
推荐阅读
- c++ - 在 constexpr 构造函数中初始化数组是否合法?
- python - 为什么我不能绘制不是标量、一维或 (2, n) 数组的东西?
- c# - 从 xcf (GIMP) 文件 C# 获取图层属性
- swiftui - 从 SwiftUI 函数返回填充的 VStack
- python - Pandas 读取 csv 跳过了一些行
- sql - 基于嵌套映射键值对的带有 Where 匹配器的 Ecto 查询
- javascript - 使用 document.querySelector 查找包含查询字符串的所有链接
- scala - Scala:特征中的方法不能使用伴随对象中的方法
- r - 在R中以特定数字开始分组数据
- javascript - Google 可视化与 Ext JS 的集成