41 lines
904 B
TypeScript
41 lines
904 B
TypeScript
import { Injectable } from '@angular/core';
|
|
import {JwtHelper} from 'angular2-jwt';
|
|
|
|
@Injectable()
|
|
export class AuthService {
|
|
|
|
tokenKey = 'loginToken';
|
|
|
|
constructor(public jwtHelper: JwtHelper) {}
|
|
|
|
public setToken(token): boolean {
|
|
if (token) {
|
|
if (!this.jwtHelper.isTokenExpired(token)) {
|
|
sessionStorage.setItem(this.tokenKey, token);
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public deleteToken(): void {
|
|
sessionStorage.removeItem(this.tokenKey);
|
|
sessionStorage.removeItem('nonce');
|
|
}
|
|
|
|
public getToken(): string {
|
|
return sessionStorage.getItem(this.tokenKey);
|
|
}
|
|
|
|
// Check whether the token is expired and return
|
|
// true or false
|
|
public isAuthenticated(): boolean {
|
|
const token = sessionStorage.getItem(this.tokenKey);
|
|
if (token) {
|
|
return !this.jwtHelper.isTokenExpired(token);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|