Newer
Older
import {Injectable} from '@angular/core';
import {Observable, of} from 'rxjs';
import {UserAuthRequest} from '../models/user-auth-request';
@Injectable({
providedIn: 'root'
})
export class AuthServiceService {
readonly AUTH_URL: string = 'http://localhost:8080/pa165/auth/login';
readonly JWT: string = "JWT";
authenticated: boolean = false;
leagueManager: boolean = false;
teamManager: boolean = false;
this.http.post(
this.AUTH_URL,
userAuthRequest,
{responseType : 'text'}
)
.subscribe((response: string) => this.handleAuthResponse(response));
this.authenticated = false;
this.teamManager = false;
this.leagueManager = false;
return of(true);
}
isAuthenticated(): Observable<boolean> {
this.authenticated = localStorage.getItem(this.JWT) !== null;
return of(this.authenticated);
}
isLeagueManager(): Observable<boolean> {
return of(this.leagueManager);
}
isTeamManager(): Observable<boolean> {
return of(this.teamManager);
}
handleAuthResponse(response: string) : void {
console.log("aaaaaaaaaaaaaaa");
let parts = response.split(" ");
let token = parts[1];
localStorage.setItem(this.JWT, token);
}
getBearerHeader(): string {
let token = localStorage.getItem(this.JWT);
return token !== null ? `Bearer ${token}` : "";
}