1 |
1 |
import {Injectable} from '@angular/core';
|
2 |
2 |
import {HttpClient, HttpResponse} from '@angular/common/http';
|
3 |
|
import {Observable, of} from 'rxjs';
|
|
3 |
import {Observable, of, pipe} from 'rxjs';
|
4 |
4 |
import {catchError, mapTo, tap} from 'rxjs/operators';
|
5 |
5 |
import {Router} from '@angular/router';
|
6 |
6 |
import {CookieService} from 'ngx-cookie-service';
|
... | ... | |
26 |
26 |
doLogin(loginInput): Observable<boolean> {
|
27 |
27 |
return this.loginService.login$Response(loginInput)
|
28 |
28 |
.pipe(
|
29 |
|
tap((userInfo: HttpResponse<UserInfo>) => this.setUserFromResponse(userInfo.body)),
|
|
29 |
tap((userInfo: HttpResponse<UserInfo>) => this.setUserFromResponse(userInfo.body, loginInput)),
|
30 |
30 |
mapTo(true),
|
31 |
31 |
catchError(() => {
|
32 |
32 |
return of<boolean>(false);
|
... | ... | |
42 |
42 |
return this.userState.getLoggedIn();
|
43 |
43 |
}
|
44 |
44 |
|
45 |
|
setUserFromResponse(userInfo: UserInfo): UserInfo {
|
|
45 |
setUserFromResponse(userInfo: UserInfo, loginInput): UserInfo {
|
46 |
46 |
this.userState.setUser(userInfo);
|
47 |
47 |
this.userState.setLoggedIn(true);
|
|
48 |
sessionStorage.setItem('userName', loginInput.username)
|
|
49 |
sessionStorage.setItem('sessionid', userInfo.sessionid)
|
|
50 |
sessionStorage.setItem('language', userInfo.language)
|
|
51 |
sessionStorage.setItem('audio', String(userInfo.audio))
|
|
52 |
this.cookieService.set('userName', loginInput.username)
|
48 |
53 |
return userInfo;
|
49 |
54 |
}
|
50 |
55 |
|
Re #8469 - Improvment security - implementace