JavaScript: Cookies aren't cleared on logout from user page -


i'm using cookies keep user's information present on front end. logging them in happening through passport.

on login, code sets cookies user's information returned passport.

on logout, cookies unset , /auth/logout called log user.

everything works login/logout, whenever try delete cookies on logout, nothing happens.

this occurs on user.js page of site. able log off other page

here's code:

dynamically setting navbar

document.getelementbyid( 'navigation-bar' ).innerhtml =  '<ul>'+   "<li><button onclick='home();' id='home-link'>home</button></li>"+   "<li><a id='recipes-link' href='/recipes'>recipes</a></li>"+   "<li><a id='festivals-link' href='/festivals'>festivals</a></li>"+   "<li><button id='logout-button' onclick='logout()'>logout</button></li>"+  '</ul>'; 

logout function

function logout() {          //sets each cookie's expire time 1970, forcing expire.         deletecookies();          //runs passport's 'logout' function         window.open( '/auth/logout',  '_parent' );  } 

setting cookies

function login () {      //setting user parameters.     let login = { email: null, password: null };      login.email = document.getelementbyid( 'email' ).value;     login.password = document.getelementbyid( 'password' ).value;      postrequest( '/auth/login', login, 'application/json', ( status, data ) => {          if ( status == 200 ) {             //set 'expiretime' current date , add 1 hour it.             let expiretime = new date( date.now() );             expiretime.sethours( expiretime.gethours() + 1 );              // parse return data.             let user = json.parse(data);              //set cookie each user key.              ( const key in user ) {                 document.cookie = key + '=' + user[key] + ';expires=' + expiretime.toutcstring() + ";";             }              //open user's profile in window using name url.             window.open( '/user/' + user.username, '_parent' );         } else {             console.log('error');         }      });  } 

deleting cookies

function deletecookies() {     console.log( 'this running' );      //use old date expire cookies     let expire = 'expires=thu, 01 jan 1970 00:00:00 gmt;'      //split each cookie array element.     let cookiesarray = document.cookie.split(";");      //split cookie have name first value.     //then use cookie's name expire cookie.     ( let cookie = 0; cookie < cookiesarray.length; cookie++ ) {         let name = cookiesarray[cookie].split( "=" )[0];         document.cookie = name + "=;" + expire;     }  } 

checking if cookie set

function isloggedin() {      //if user logged in, display logout button.     if (  getcookie( '_id' ) != '' ) {         document.getelementbyid( 'logout-button' ).style.display = 'inline-block';     }  } 

user.js code

var user = {};  function userready() {      getrequest( '/api/me', undefined, ( status, data ) => {          if ( status === 200 ) {             user = json.parse( data );             document.getelementbyid( 'username' ).innerhtml = "welcome back, " + user.username;         }      });  } 

all appreciated.


Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -