This commit is contained in:
grégoire parant 2020-11-26 16:40:52 +01:00 committed by GitHub
commit bcb56f96b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 42 additions and 31 deletions

View file

@ -33,14 +33,19 @@ class ConnectionManager {
const room = new Room(window.location.pathname + window.location.hash);
return Promise.resolve(room);
} else if (connexionType === GameConnexionTypes.anonymous || connexionType === GameConnexionTypes.empty) {
} else {
//if connexion anonymous, remove local token
if(connexionType !== GameConnexionTypes.organization) {
localUserStore.removeUser();
}
if (connexionType === GameConnexionTypes.anonymous || connexionType === GameConnexionTypes.empty) {
const localUser = localUserStore.getLocalUser();
if (localUser && localUser.jwtToken && localUser.uuid && localUser.textures) {
this.localUser = localUser;
try {
await this.verifyToken(localUser.jwtToken);
} catch(e) {
} catch (e) {
// If the token is invalid, let's generate an anonymous one.
console.error('JWT token invalid. Did it expire? Login anonymously instead.');
await this.anonymousLogin();
@ -70,6 +75,7 @@ class ConnectionManager {
return Promise.reject('Could not find a user in localstorage');
}
}
}
return Promise.reject('Invalid URL');
}

View file

@ -6,6 +6,11 @@ class LocalUserStore {
saveUser(localUser: LocalUser) {
localStorage.setItem('localUser', JSON.stringify(localUser));
}
removeUser() {
localStorage.removeItem('localUser');
}
getLocalUser(): LocalUser|null {
const data = localStorage.getItem('localUser');
return data ? JSON.parse(data) : null;