| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import { Injectable } from '@angular/core';
- const TOKEN_KEY = 'AuthToken';
- const USERNAME_KEY = 'AuthUsername';
- const EMAIL_KEY = 'AuthEmail';
- const AUTHORITIES_KEY = 'AuthAuthorities';
- @Injectable({
- providedIn: 'root'
- })
- export class TokenStorageService {
- private roles: Array<string> = [];
- constructor() { }
- signOut() {
- window.sessionStorage.clear();
- }
- public saveToken(token: string) {
- window.sessionStorage.removeItem(TOKEN_KEY);
- window.sessionStorage.setItem(TOKEN_KEY, token);
- }
- public getToken(): string {
- return sessionStorage.getItem(TOKEN_KEY) || '{}';
- }
- public saveUsername(username: string) {
- window.sessionStorage.removeItem(USERNAME_KEY);
- window.sessionStorage.setItem(USERNAME_KEY, username);
- }
- public getUsername(): string {
- return sessionStorage.getItem(USERNAME_KEY) || '{}';
- }
- public saveEmail(email: string) {
- window.sessionStorage.removeItem(EMAIL_KEY);
- window.sessionStorage.setItem(EMAIL_KEY, email);
- }
- public getEmail(): string {
- return sessionStorage.getItem(EMAIL_KEY) || '{}';
- }
- public saveAuthorities(authorities: string[]) {
- window.sessionStorage.removeItem(AUTHORITIES_KEY);
- window.sessionStorage.setItem(AUTHORITIES_KEY, JSON.stringify(authorities));
- }
- public getAuthorities(): string[] {
- this.roles = [];
- if (sessionStorage.getItem(TOKEN_KEY)) {
- JSON.parse(sessionStorage.getItem(AUTHORITIES_KEY) || '{}').forEach((authority: { authority: string; }) => {
- this.roles.push(authority.authority);
- });
- }
- return this.roles;
- }
- }
|