Я использую Firebase Auth для своего веб-сайта и столкнулся с проблемой. Я хочу избежать автоматического перенаправления после входа в систему, и, насколько я знаю, если вы вернете false в обратном вызове, оно не будет перенаправлено. Моя проблема в том, что обратный вызов signInSuccessWithAuthResult не вызывается. Почему это не вызывается и есть ли лучший способ добиться этого?
window.addEventListener('load', function () {
var uiConfig = {
callbacks: {
signInSuccessWithAuthResult: function(authResult, redirectUrl) {
// User successfully signed in.
console.log("sign in success");
// don't redirect automatically
return false;
}
},
signInSuccessUrl: <I dont want to go here>,
signInOptions: [
// Leave the lines as is for the providers you want to offer your users.
firebase.auth.GoogleAuthProvider.PROVIDER_ID,
firebase.auth.EmailAuthProvider.PROVIDER_ID
],
// Terms of service url.
tosUrl: '<your-tos-url>',
// Privacy policy url.
privacyPolicyUrl: '<your-privacy-policy-url>'
};
firebase.auth().onAuthStateChanged(function (user) {
if (user) {
user.getIdToken().then(function (accessToken) {
console.log("token retrieved: "+accessToken);
// Send token to your backend via HTTPS
var xhr = new XMLHttpRequest();
xhr.open('POST', '/');
xhr.setRequestHeader('Content-Type', "application/x-www-form-urlencoded");
xhr.onload = function() {
console.log('Signed in as: ' + xhr.responseText);
document.getElementById('firebaseui-auth-container').hidden=true;
};
xhr.send('token=' + accessToken);
});
}
});
});