2 private static KEYS = {
10 const usernameLocalStorage = localStorage.getItem(this.KEYS.USERNAME);
11 if (usernameLocalStorage) {
12 return new User(localStorage.getItem(this.KEYS.USERNAME), Tokens.load());
19 localStorage.removeItem(this.KEYS.USERNAME);
23 constructor(username: string, hash_tokens: any) {
24 this.username = username;
25 this.tokens = new Tokens(hash_tokens);
29 return this.tokens.access_token;
33 return this.tokens.refresh_token;
37 return this.tokens.token_type;
40 refreshTokens(access_token: string, refresh_token: string) {
41 this.tokens.access_token = access_token;
42 this.tokens.refresh_token = refresh_token;
46 localStorage.setItem('username', this.username);
51 // Private class used only by User
53 private static KEYS = {
54 ACCESS_TOKEN: 'access_token',
55 REFRESH_TOKEN: 'refresh_token',
56 TOKEN_TYPE: 'token_type',
60 refresh_token: string;
64 const accessTokenLocalStorage = localStorage.getItem(this.KEYS.ACCESS_TOKEN);
65 const refreshTokenLocalStorage = localStorage.getItem(this.KEYS.REFRESH_TOKEN);
66 const tokenTypeLocalStorage = localStorage.getItem(this.KEYS.TOKEN_TYPE);
68 if (accessTokenLocalStorage && refreshTokenLocalStorage && tokenTypeLocalStorage) {
70 access_token: accessTokenLocalStorage,
71 refresh_token: refreshTokenLocalStorage,
72 token_type: tokenTypeLocalStorage
80 localStorage.removeItem(this.KEYS.ACCESS_TOKEN);
81 localStorage.removeItem(this.KEYS.REFRESH_TOKEN);
82 localStorage.removeItem(this.KEYS.TOKEN_TYPE);
85 constructor(hash?: any) {
87 this.access_token = hash.access_token;
88 this.refresh_token = hash.refresh_token;
90 if (hash.token_type === 'bearer') {
91 this.token_type = 'Bearer';
93 this.token_type = hash.token_type;
99 localStorage.setItem('access_token', this.access_token);
100 localStorage.setItem('refresh_token', this.refresh_token);
101 localStorage.setItem('token_type', this.token_type);