Я работаю с Firebase в своем проекте, но получаю эту ошибку auth/operation-not-supported-in-this-environment
при входе с учетными данными Google.
.hbs код файла
<span class="google-bg session-icon">
<a href="#!" id="google" onclick=" return loginWithGoogle(this)">
<i class="ti-google"></i>
</a>
</span>
код сценария
function loginWithGoogle(event){
$.ajax({
url: "/session/google/login",
type: "POST"
})
.done(function (data) {
error= JSON.stringify(data);
console.log(error);
M.toast({html: error})
});
}
Экспресс-код
router.post('/session/google/login',function (req, res, next){
//console.log('get resqust');
firebase.auth().signInWithRedirect(googleAuthProvider).then(function(result){
console.log(result);
}, function(error){
console.log(error.code);
res.json({
data: error.code
})
});
})
Когда я нажимаю на иконку Google, затем вызываю loginWithGoogle
функцию и получаю путь к маршрутизатору /session/google/login
, после этого выполняем экспресс-код и генерируем ошибку.Мне интересно решить эту проблему и что может быть не так?
Спасибо !!!
Обновлено (16-10-18)
Маршрут вызова на панели мониторинга после успешного входа в систему с учетной записью Gmail.
router.get('/dashboard', function(req, res, next) {
console.log(firebase.auth().currentUser);
if(firebase.auth().currentUser != null){
res.render('dashboard', {
title: 'App'
});
}else {
req.session.error = 'Access denied!';
console.log(req.session.error);
res.redirect('/login');
}
});
После успешного входа в систему на учетной записи gmail у меня есть маршрут вызова панели управления и используется условие перед отображением страницы панели мониторинга, но currentUser
возвращает ноль.Я проверил в консоли Firebase, которая показывает недавно новый логин пользователя с помощью gmail, и если у меня логин с простым идентификатором пользователя и паролем, то currentUser
возвращает данные.где я не прав ??
Обновлено 17-10-18
function loginWithGoogle(event) {
firebase.initializeApp(config);
var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithPopup(googleAuthProvider)
.then(function (user) {
// localStorage.setItem('user',JSON.stringify(user));
window.location.href = '/dashboard';
})
.catch(function (error) {
var errorCode = error.code;
var errorMessage = error.message;
var email = error.email;
var credential = error.credential
})
}
После успешного входа в систему я перенаправил на '/dashboard'
и определил маршрут, определенный для вызова, для панели мониторинга.который я упомянул вчера.теперь, пожалуйста, скажите мне, где я называю приборную панель маршрута ??