Skip to content
Snippets Groups Projects
auth.service.ts 1.25 KiB
Newer Older
import {Injectable} from '@angular/core';
import {JwtHelperService} from "@auth0/angular-jwt";
import {StorageService} from "./storage.service";
import {AlertService} from "./alert.service";


@Injectable({
  providedIn: 'root'
})
export class AuthService {

  public jwtHelper: JwtHelperService = new JwtHelperService();

  constructor(private storageService: StorageService, private alertService: AlertService) {
  }

  public signIn(): void {
    // window.location.assign('https://auth.nrao.edu/cas/login?service=' + encodeURIComponent(window.location.origin + window.location.pathname));
  }

  public isAuthenticated(): boolean {
    return true;
    const token = this.storageService.getLocal('jwt');
    // Check whether the token is expired and return
    // true or false
    return !this.jwtHelper.isTokenExpired(token);
  }

  public logIn(ticket: string): boolean {
    console.log('expires', this.jwtHelper.getTokenExpirationDate(ticket));
    // if (this.jwtHelper.isTokenExpired(ticket)) {
    //   return false;
    // }
    try {
      const token = this.jwtHelper.decodeToken(ticket);
      console.log(token);
      this.storageService.saveLocal('jwt', ticket);
      return true;
    } catch (err) {
      console.warn(err);
      return false;
    }
  }
}