login works so far

This commit is contained in:
2021-06-18 16:29:36 +02:00
parent 79d31e1817
commit 6b7c080e17
4 changed files with 20 additions and 3 deletions

View File

@ -19,7 +19,7 @@ export class ErrorHandlerInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> { intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
return next.handle(request).pipe( return next.handle(request).pipe(
catchError((errorResponse: HttpErrorResponse) => { catchError((errorResponse: HttpErrorResponse) => {
this.messageService.add(`Intercepted http error: ${errorResponse}`) this.messageService.add(`Intercepted http error: ${JSON.stringify(errorResponse, undefined, 4)}`)
if (errorResponse.status === 401) { if (errorResponse.status === 401) {
this.router.navigateByUrl('/login') this.router.navigateByUrl('/login')
} }

View File

@ -0,0 +1,9 @@
mat-card {
max-width: 400px;
margin: 2em auto;
text-align: center;
}
mat-form-field {
display: block;
}

View File

@ -41,6 +41,7 @@ export class LoginComponent implements OnInit {
const password = this.form.get('password')?.value; const password = this.form.get('password')?.value;
await this.tokenService.login(username, password); await this.tokenService.login(username, password);
} catch (err) { } catch (err) {
this.messageService.add(`Login err: ${err.message}`)
this.loginInvalid = true; this.loginInvalid = true;
} }
} else { } else {

View File

@ -2,6 +2,7 @@ import { Injectable } from '@angular/core';
import { MessageService } from './message.service'; import { MessageService } from './message.service';
import { HttpClient, HttpHeaders } from '@angular/common/http'; import { HttpClient, HttpHeaders } from '@angular/common/http';
import { UserCreds } from './userCreds' import { UserCreds } from './userCreds'
import { ThrowStmt } from '@angular/compiler';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
@ -26,8 +27,14 @@ export class TokenService {
"login": login, "login": login,
"password": password "password": password
} }
const token = await this.http.post<String>("https://authservice.hottis.de/token", userCreds).toPromise() const token = await this.http.post(
this.messageService.add(`Token is ${JSON.stringify(token, undefined, 4)}`) "https://authservice.hottis.de/token",
userCreds,
{responseType:'text'}
).toPromise()
this.messageService.add(`Token is ${token}`)
localStorage.setItem(TokenService.Id_Token_Key, token)
this.messageService.add("Token saved")
} }
} }