diff options
Diffstat (limited to 'catalog-ui/src/app/ng2/services/authentication.service.ts')
-rw-r--r-- | catalog-ui/src/app/ng2/services/authentication.service.ts | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/catalog-ui/src/app/ng2/services/authentication.service.ts b/catalog-ui/src/app/ng2/services/authentication.service.ts new file mode 100644 index 0000000000..7fe3e22f4c --- /dev/null +++ b/catalog-ui/src/app/ng2/services/authentication.service.ts @@ -0,0 +1,40 @@ +import { Injectable } from '@angular/core'; +import { sdc2Config } from './../../../main'; +import {IAppConfigurtaion, ICookie} from "../../models/app-config"; +import {Response, Headers, RequestOptions, Http} from '@angular/http'; +import {Cookie2Service} from "./cookie.service"; +import { Observable } from 'rxjs/Observable'; + +@Injectable() +export class AuthenticationService { + + private cookieService:Cookie2Service; + private http:Http; + + constructor(cookieService:Cookie2Service, http: Http) { + this.cookieService = cookieService; + this.http = http; + } + + private getAuthHeaders():any { + let cookie:ICookie = sdc2Config.cookie; + let authHeaders:any = {}; + authHeaders[cookie.userFirstName] = this.cookieService.getFirstName(); + authHeaders[cookie.userLastName] = this.cookieService.getLastName(); + authHeaders[cookie.userEmail] = this.cookieService.getEmail(); + authHeaders[cookie.userIdSuffix] = this.cookieService.getUserId(); + return authHeaders; + } + + public authenticate(): Observable<JSON> { + let options = new RequestOptions({ + headers: new Headers(this.getAuthHeaders()) + }); + + let authUrl = sdc2Config.api.root + sdc2Config.api.GET_user_authorize; + return this.http + .get(authUrl, options) + .map((res: Response) => res.json()); + } + +}
\ No newline at end of file |