【发布时间】:2015-09-17 20:38:17
【问题描述】:
使用提供的非常清晰的简单示例 (Firebase Google Auth),我无法从 Google 获得授权。好吧,我有,但并不总是意味着我实际上已经将对象取回了几次......但如果我用ref.unauth() 注销它就不会再工作了。搜索高低我一直无法找到其他经历类似的事情。我必须错过一些东西。我真的不知道在这里分享什么来给予理解。这就是我在页面中的全部内容:
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Contacts</title>
<script src='https://cdn.firebase.com/js/client/2.2.1/firebase.js'></script>
<script type="text/javascript">
var contactsRef = new Firebase('https://my-notreal-firebaseapp.firebaseio.com/contacts');
var authData = contactsRef.getAuth();
if (authData) {
console.log("User " + authData.uid + " is logged in with " + authData.provider);
} else {
console.log("User is logged out");
contactsRef.authWithOAuthRedirect("google", function(error,authData){
//do stuff post authentication
},{
remember: "sessionOnly",
scope: "email"
});
}
</script>
</head>
<body>
</body>
</html>
它每次都重定向回登录。我有多个 Google 帐户,因此实际上它会将我带到“选择帐户”页面。我也设置了非常简单的规则。
{
"rules": {
"contacts":{
".read": true,
".write": true
}
}
}
我再次检查以确保我在 Google Developers Console 和 Firebase 应用仪表板中都正确设置了所有内容。
提前感谢您的任何建议!
【问题讨论】:
-
...顺便说一句 ref.authWithOAuthPopup 工作得很好。我很确定这个问题与对重定向的错误处理有关。
-
从页面返回后,能否刷新一下,看看是否登录?
-
@DavidEast 刚刚回到这个...如果您刷新它会尝试再次进行身份验证。
标签: firebase firebase-security