diff --git a/webservice/Frontend/Aktienbot/src/app/Helpers/auth.interceptor.ts b/webservice/Frontend/Aktienbot/src/app/Helpers/auth.interceptor.ts new file mode 100644 index 0000000..ff94e91 --- /dev/null +++ b/webservice/Frontend/Aktienbot/src/app/Helpers/auth.interceptor.ts @@ -0,0 +1,30 @@ +import { HTTP_INTERCEPTORS, HttpEvent } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { + HttpInterceptor, + HttpHandler, + HttpRequest, +} from '@angular/common/http'; +import { TokenStorageService } from '../Services/token.service'; +import { Observable } from 'rxjs'; +const TOKEN_HEADER_KEY = 'Authorization'; // for Spring Boot back-end +@Injectable() +export class AuthInterceptor implements HttpInterceptor { + constructor(private token: TokenStorageService) {} + intercept( + req: HttpRequest, + next: HttpHandler + ): Observable> { + let authReq = req; + const token = this.token.getToken(); + if (token != null) { + authReq = req.clone({ + headers: req.headers.set(TOKEN_HEADER_KEY, 'Bearer ' + token), + }); + } + return next.handle(authReq); + } +} +export const authInterceptorProviders = [ + { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }, +]; diff --git a/webservice/Frontend/Aktienbot/src/app/Services/auth.service.ts b/webservice/Frontend/Aktienbot/src/app/Services/auth.service.ts index 234529f..ecf0ad2 100644 --- a/webservice/Frontend/Aktienbot/src/app/Services/auth.service.ts +++ b/webservice/Frontend/Aktienbot/src/app/Services/auth.service.ts @@ -10,25 +10,25 @@ const httpOptions = { }) export class AuthService { constructor(private http: HttpClient) {} - login(username: string, password: string): Observable { - return this.http.post( - AUTH_API + 'signin', - { - username, - password, - }, - httpOptions - ); - } - register(username: string, email: string, password: string): Observable { - return this.http.post( - AUTH_API + 'signup', - { - username, - email, - password, - }, - httpOptions - ); - } + // login(username: string, password: string): Observable { + // return this.http.post( + // AUTH_API + 'signin', + // { + // username, + // password, + // }, + // httpOptions + // ); + // } + // register(username: string, email: string, password: string): Observable { + // return this.http.post( + // AUTH_API + 'signup', + // { + // username, + // email, + // password, + // }, + // httpOptions + // ); + // } } diff --git a/webservice/Frontend/Aktienbot/src/app/Services/data.service.ts b/webservice/Frontend/Aktienbot/src/app/Services/data.service.ts index 3eacaf6..1710fc8 100644 --- a/webservice/Frontend/Aktienbot/src/app/Services/data.service.ts +++ b/webservice/Frontend/Aktienbot/src/app/Services/data.service.ts @@ -7,16 +7,16 @@ const API_URL = 'http://localhost:8080/api/test/'; }) export class UserService { constructor(private http: HttpClient) {} - getPublicContent(): Observable { - return this.http.get(API_URL + 'all', { responseType: 'text' }); - } - getUserBoard(): Observable { - return this.http.get(API_URL + 'user', { responseType: 'text' }); - } - getModeratorBoard(): Observable { - return this.http.get(API_URL + 'mod', { responseType: 'text' }); - } - getAdminBoard(): Observable { - return this.http.get(API_URL + 'admin', { responseType: 'text' }); - } + // getPublicContent(): Observable { + // return this.http.get(API_URL + 'all', { responseType: 'text' }); + // } + // getUserBoard(): Observable { + // return this.http.get(API_URL + 'user', { responseType: 'text' }); + // } + // getModeratorBoard(): Observable { + // return this.http.get(API_URL + 'mod', { responseType: 'text' }); + // } + // getAdminBoard(): Observable { + // return this.http.get(API_URL + 'admin', { responseType: 'text' }); + // } } diff --git a/webservice/Frontend/Aktienbot/src/app/Views/login/login.component.html b/webservice/Frontend/Aktienbot/src/app/Views/login/login.component.html index 4110d39..2a9d0bd 100644 --- a/webservice/Frontend/Aktienbot/src/app/Views/login/login.component.html +++ b/webservice/Frontend/Aktienbot/src/app/Views/login/login.component.html @@ -1,5 +1,5 @@ -
-
+