Authentication - JavaScript - Logout issue

岁酱吖の 提交于 2019-12-23 23:19:21

问题


I need some help with my problem.

firebase.auth().onAuthStateChanged(user => {
    if(user) {
    console.log('log in');
    window.location.href ='event_list.html'
    }});

btnLogout.addEventListener('click', e => {
    firebase.auth().signOut().then(function() {
        console.log("not log in");
        window.location.href = 'index.html';
    }, function(error) {
    //
    });;

});

Logging in works correctly but if I'm trying logout - user probably logout correctly - back to login/signup site but immediately I'm redirecting to "event_list.html" as still logged in user.

My sign in/sign up site is - index.html

I want logout and put other data - login/pass.

One other question: How can I get email variable from this script and use it in other JavaScript script?

I want do banner - Hi (mail of user actually log in), Welcome back and insert it to all my HTML sites.


回答1:


I suggest you to take a look at this code in github.
About your example, I think that the problem is with onAuthStateChanged method (user has logged out, so the auth state has changed, so it's triggered...).
Try to use signInWithEmailAndPassword what is explained here.

By other way, separated question I would, first make a search in SO, and then, if no answered meets my needs, I would asked it in a new one!




回答2:


I'm also new to Firebase but firebase.auth().signOut() should do the trick for you And in-order to identify if the user is logged in you can use the onAuthStateChanged event. If the passed parameter is null which means user is logged out if you have a valid value then you can resolve the user from that

ex: (I have not tried this but this should work)

firebase.auth().onAuthStateChanged(user => {
    if(user) {
        console.log('User Logged in :' + user );
        window.location.href ='event_list.html'
    }else{
        console.log('User Not Logged in');
        window.location.href = 'index.html';
    }
});

btnLogout.addEventListener('click', e => {
    firebase.auth().signOut();
});


来源:https://stackoverflow.com/questions/40703412/authentication-javascript-logout-issue

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!