Change login handling to automatically redirect a user if their session will need renewal.

This commit is contained in:
Dane Everitt 2018-06-16 14:05:39 -07:00
parent 24bb8da43d
commit e7faf979a1
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
8 changed files with 126 additions and 23 deletions

View file

@ -9,17 +9,19 @@ export default class User {
*/
static fromToken(token) {
if (!isString(token)) {
token = localStorage.getItem('token');
token = this.getToken();
}
if (!isString(token) || token.length < 1) {
return null;
}
const data = jwtDecode(token);
if (data.user) {
return new User(data.user);
}
try {
const data = jwtDecode(token);
if (data.user) {
return new User(data.user);
}
} catch (ex) {}
return null;
}
@ -29,8 +31,7 @@ export default class User {
*
* @returns {string | null}
*/
static getToken()
{
static getToken() {
return localStorage.getItem('token');
}
@ -60,4 +61,11 @@ export default class User {
this.last_name = last_name;
this.language = language;
}
/**
* Returns the JWT belonging to the current user.
*/
getJWT() {
return jwtDecode(User.getToken());
}
}