Firebase + Javascript Конвертировать анонимную учетную запись в постоянную - Ошибка: ответ не определен
Я пытаюсь создать сайт, на котором пользователь может сначала войти анонимно с использованием firebase, а затем конвертировать свою учетную запись в постоянную, войдя в систему с facebook. Я следую инструкциям, приведенным на странице https://firebase.google.com/docs/auth/web/anonymous-auth, но я получаю следующую ошибку: "Неотдача ReferenceError: ответ не определен". Я также попытался преобразовать учетную запись с помощью 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>
хорошо, я нашел решение. По-видимому, для перехода от анонимного пользователя к пользователю facebook вам нужно найти токен самостоятельно. Я нашел это решение.
var provider = new firebase.auth.FacebookAuthProvider();
firebase.auth().currentUser.linkWithPopup(provider)
Я думаю, что response
здесь относится к событию, которое Facebook-логин переходит на обратный вызов. Facebook традиционно называет этот response
, но наш пример Github называет его events
. Название курса не важно, но вы не объявляете его для своего обратного вызова.
function facebookSignin(response) {
var provider = new firebase.auth.FacebookAuthProvider();
var credential = firebase.auth.FacebookAuthProvider.credential(
response.authResponse.accessToken);
Также см. Https://github.com/firebase/quickstart-js/blob/master/auth/facebook-credentials.html#L81
Еще в рубрике
- Вопросы
- Facebook-login
- Firebase + Javascript Конвертировать анонимную учетную запись в постоянную - Ошибка: ответ не определен