mirror of
https://github.com/pierre42100/ComunicWeb
synced 2025-06-19 12:25:16 +00:00
Improve tokens management
This commit is contained in:
@ -5,30 +5,27 @@
|
||||
* @author Pierre HUBERT
|
||||
*/
|
||||
|
||||
ComunicWeb.user.loginTokens = {
|
||||
const LoginTokens = {
|
||||
|
||||
/**
|
||||
* Set User tokens
|
||||
*
|
||||
* @param {Object} tokens The tokens object
|
||||
* @param {String} token The token
|
||||
* @param {Type} storageType The token destination (local or session)
|
||||
*/
|
||||
setUserTokens: function(tokens, storageType){
|
||||
setUserToken: function(token, storageType){
|
||||
//First, we check if there is any login token available
|
||||
this.deleteLoginTokens();
|
||||
|
||||
//We encode login tokens
|
||||
var tokensArray = JSON.stringify(tokens);
|
||||
|
||||
//We store login tokens
|
||||
//If localStorage is required
|
||||
if(storageType == "local"){
|
||||
localStorage.setItem("loginTokens", tokensArray);
|
||||
}
|
||||
else {
|
||||
if(storageType == "local")
|
||||
localStorage.setItem("loginToken", token);
|
||||
|
||||
else
|
||||
//Session storage
|
||||
sessionStorage.setItem("loginTokens", tokensArray);
|
||||
}
|
||||
sessionStorage.setItem("loginToken", token);
|
||||
|
||||
|
||||
//Everything is OK
|
||||
return true;
|
||||
@ -42,49 +39,33 @@ ComunicWeb.user.loginTokens = {
|
||||
*/
|
||||
checkLoginTokens: function(){
|
||||
//First, check in local storage
|
||||
if(localStorage.getItem("loginTokens") != null){
|
||||
//It is OK
|
||||
if(localStorage.getItem("loginToken") != null)
|
||||
return true;
|
||||
}
|
||||
|
||||
//Check if we have to remove any thing in session storage
|
||||
if(sessionStorage.getItem("loginTokens") != null){
|
||||
//It is OK
|
||||
if(sessionStorage.getItem("loginToken") != null)
|
||||
return true;
|
||||
}
|
||||
|
||||
//Else there isn't login token available
|
||||
return false;
|
||||
},
|
||||
|
||||
/**
|
||||
* Get login tokens
|
||||
* Get login token
|
||||
*
|
||||
* @return {Object} Login tokens, if they exists (false in failure)
|
||||
* @return {Object} Login token, if they exists (false in failure)
|
||||
*/
|
||||
getLoginTokens: function(){
|
||||
getLoginToken: function(){
|
||||
//First, check in local storage
|
||||
if(localStorage.getItem("loginTokens") !== null){
|
||||
//Return localStorage login tokens
|
||||
var loginTokenString = localStorage.getItem("loginTokens");
|
||||
}
|
||||
if(localStorage.getItem("loginToken") !== null)
|
||||
return localStorage.getItem("loginToken");
|
||||
|
||||
|
||||
//Then, check in session storage
|
||||
if(sessionStorage.getItem("loginTokens") !== null){
|
||||
//Return session storage login token
|
||||
var loginTokenString = sessionStorage.getItem("loginTokens");
|
||||
if(sessionStorage.getItem("loginToken") !== null){
|
||||
return sessionStorage.getItem("loginToken");
|
||||
}
|
||||
|
||||
//Check if we didn't get any login token
|
||||
if(!loginTokenString){
|
||||
return false;
|
||||
}
|
||||
|
||||
//Decode the login token
|
||||
var loginTokens = JSON.parse(loginTokenString);
|
||||
|
||||
//Returns the result
|
||||
return loginTokens;
|
||||
return false;
|
||||
},
|
||||
|
||||
/**
|
||||
@ -92,15 +73,14 @@ ComunicWeb.user.loginTokens = {
|
||||
*/
|
||||
deleteLoginTokens: function(){
|
||||
//Check if we have to remove any thing in local storage
|
||||
if(localStorage.getItem("loginTokens") != "null"){
|
||||
//Remove the key
|
||||
localStorage.removeItem("loginTokens");
|
||||
}
|
||||
if(localStorage.getItem("loginToken") != "null")
|
||||
localStorage.removeItem("loginToken");
|
||||
|
||||
|
||||
//Check if we have to remove any thing in session storage
|
||||
if(sessionStorage.getItem("loginTokens") != "null"){
|
||||
//Remove the key
|
||||
sessionStorage.removeItem("loginTokens");
|
||||
}
|
||||
if(sessionStorage.getItem("loginToken") != "null")
|
||||
sessionStorage.removeItem("loginToken");
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
ComunicWeb.user.loginTokens = LoginTokens;
|
@ -115,7 +115,7 @@ const UserLogin = {
|
||||
else {
|
||||
storageType = "session";
|
||||
}
|
||||
ComunicWeb.user.loginTokens.setUserTokens(result.tokens, storageType);
|
||||
LoginTokens.setUserToken(result.token, storageType);
|
||||
|
||||
// Save email address
|
||||
ComunicWeb.components.mailCaching.set(usermail);
|
||||
@ -153,7 +153,7 @@ const UserLogin = {
|
||||
|
||||
|
||||
//Destroy login tokens
|
||||
ComunicWeb.user.loginTokens.deleteLoginTokens();
|
||||
LoginTokens.deleteLoginTokens();
|
||||
|
||||
//Specify user is logged out
|
||||
this.__userID = 0;
|
||||
|
Reference in New Issue
Block a user