【发布时间】:2018-01-26 15:31:01
【问题描述】:
我正在尝试建立一个网站,用户可以首先使用 firebase 匿名登录,然后通过使用 facebook 登录将他的帐户转换为永久帐户。我按照https://firebase.google.com/docs/auth/web/anonymous-auth 给出的说明进行操作,但出现以下错误“未捕获的引用错误:未定义响应”。我还尝试使用 Google 登录转换帐户,但随后出现错误“未定义 googleUser”。我做错了什么?
这是我的代码:-
<html>
<body>
<button onclick = "anonymousLogin()">Anonymous Signin</butto>
<button onclick = "facebookSignin()">Facebook Signin</button>
<button onclick = "facebookSignout()">Facebook Signout</button>
</body>
<script>
function anonymousLogin(){
firebase.auth().signInAnonymously().catch(function(error) {
// Handle Errors here.
var errorCode = error.code; console.log(errorCode)
var errorMessage = error.message; console.log(errorMessage)
});
}
function facebookSignin() {
var provider = new firebase.auth.FacebookAuthProvider();
var credential = firebase.auth.FacebookAuthProvider.credential(
response.authResponse.accessToken);
auth.currentUser.link(credential).then(function(user) {
console.log("Anonymous account successfully upgraded", user);
}, function(error) {
console.log("Error upgrading anonymous account", error);
});
}
</script>
</html>
【问题讨论】:
-
代码的哪一部分产生了该错误?
-
这部分 var credential = firebase.auth.FacebookAuthProvider.credential(response.authResponse.accessToken);
-
看看你如何将
response.authResponse.accessToken作为参数传递...response是什么?您没有显示任何创建名为response的变量的代码 -
我没有创建变量“响应”。我刚刚从 firebase 文档中复制粘贴了该代码。我假设 firebase 自己处理它?
-
文档不是完整的代码-
标签: javascript firebase firebase-authentication facebook-login