diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/session.ts | 19 | ||||
-rw-r--r-- | src/lib/token.ts | 4 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/lib/session.ts b/src/lib/session.ts index 5d4967f..28284ed 100644 --- a/src/lib/session.ts +++ b/src/lib/session.ts @@ -1,7 +1,22 @@ import Token from "./token"; -export function isUserAuthenticated() { - const session = new Token(); +const session = new Token(); +export function isUserAuthenticated() { return session.get() != null && !session.expired(); +} + +export function refreshIfExpired() { + if(!isUserAuthenticated()) + return session.refresh(); + + return true; +} + +export function presentSession() { + return session.get() != null; +} + +export function logout() { + session.logout(); }
\ No newline at end of file diff --git a/src/lib/token.ts b/src/lib/token.ts index f27df28..68765d7 100644 --- a/src/lib/token.ts +++ b/src/lib/token.ts @@ -38,8 +38,12 @@ export default class Token { const response = axios.post('/refresh_tokens', null, options); this.setRefresh(response.data.refresh); this.set(response.data.token); + + return true; } catch(error) { this.logout(); + + return false; } } |