Firebase:Google OAuth 无限重定向
Firebase: Google OAuth Infinite Redirects
我是 Firebase 的新手。我正在尝试将 Google OAuth 连接到我的 Firebase 实例。
我设置了所有内容并获得了客户端 ID 和客户端密码。我将 localhost 添加到 Firebase 仪表板的白名单中。然后我使用了下面的 Firebase 示例:
<html>
<head>
<script src="https://cdn.firebase.com/js/client/2.0.4/firebase.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script>
var ref = new Firebase("https://<firebase url>.firebaseio.com");
ref.authWithOAuthRedirect("google", function(error, authData) {
if (error) {
console.log("Login Failed!", error);
} else {
console.log("Authenticated successfully with payload:", authData);
}
});
</script>
</body>
</html>
当我打开它时,它要求允许使用 Google 进行身份验证。当我接受它时,它只是继续进行重定向(无限)并且没有完成加载。对问题的任何见解都会有所帮助。谢谢
编辑:
我注意到:authWithOAuthPopup() 方法有效,但重定向只是停留在无限重定向循环中。
任何时候您调用 ref.authWithOAuthRedirect(...)
,您都在告诉 Firebase 启动基于重定向的身份验证流程并将浏览器重定向到 OAuth 提供程序。调用此方法将始终尝试创建一个 new 会话,即使一个会话已经保存在浏览器中。
要仅在登录会话不存在的情况下尝试创建新的登录会话,请尝试以下使用 onAuth(...)
事件侦听器的方法:
var ref = new Firebase("https://<firebase url>.firebaseio.com");
ref.onAuth(function(authData) {
if (authData !== null) {
console.log("Authenticated successfully with payload:", authData);
} else {
// Try to authenticate with Google via OAuth redirection
ref.authWithOAuthRedirect("google", function(error, authData) {
if (error) {
console.log("Login Failed!", error);
}
});
}
})
我是 Firebase 的新手。我正在尝试将 Google OAuth 连接到我的 Firebase 实例。
我设置了所有内容并获得了客户端 ID 和客户端密码。我将 localhost 添加到 Firebase 仪表板的白名单中。然后我使用了下面的 Firebase 示例:
<html>
<head>
<script src="https://cdn.firebase.com/js/client/2.0.4/firebase.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script>
var ref = new Firebase("https://<firebase url>.firebaseio.com");
ref.authWithOAuthRedirect("google", function(error, authData) {
if (error) {
console.log("Login Failed!", error);
} else {
console.log("Authenticated successfully with payload:", authData);
}
});
</script>
</body>
</html>
当我打开它时,它要求允许使用 Google 进行身份验证。当我接受它时,它只是继续进行重定向(无限)并且没有完成加载。对问题的任何见解都会有所帮助。谢谢
编辑: 我注意到:authWithOAuthPopup() 方法有效,但重定向只是停留在无限重定向循环中。
任何时候您调用 ref.authWithOAuthRedirect(...)
,您都在告诉 Firebase 启动基于重定向的身份验证流程并将浏览器重定向到 OAuth 提供程序。调用此方法将始终尝试创建一个 new 会话,即使一个会话已经保存在浏览器中。
要仅在登录会话不存在的情况下尝试创建新的登录会话,请尝试以下使用 onAuth(...)
事件侦听器的方法:
var ref = new Firebase("https://<firebase url>.firebaseio.com");
ref.onAuth(function(authData) {
if (authData !== null) {
console.log("Authenticated successfully with payload:", authData);
} else {
// Try to authenticate with Google via OAuth redirection
ref.authWithOAuthRedirect("google", function(error, authData) {
if (error) {
console.log("Login Failed!", error);
}
});
}
})