Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { Injectable } from '@angular/core';
- import { RequestOptions} from '@angular/http';
- import {User} from '../model/model.user';
- import 'rxjs/add/operator/map';
- import {HttpClient, HttpHeaders} from '@angular/common/http';
- @Injectable()
- export class AuthService {
- constructor(public http: HttpClient) { }
- public logIn(user: User) {
- const headers = new HttpHeaders();
- headers.append('Accept', 'application/json')
- // creating base64 encoded String from user name and password
- const base64Credential: string = btoa( user.username + ':' + user.password);
- headers.append('Authorization', 'Basic ' + base64Credential);
- // this is where i'm having a problem :
- const httpOptions = new RequestOptions();
- httpOptions.headers = headers;
- return this.http.get('http://localhost:8081/' + '/account/login' ,
- httpOptions)
- .map(resp => {
- // login successful if there's a jwt token in the response
- const user = resp.json().principal; // the returned user object is a principal object
- if (user) {
- // store user details in local storage to keep user logged in between page refreshes
- localStorage.setItem('currentUser', JSON.stringify(user));
- }
- });
- }
- logOut() {
- // remove user from local storage to log user out
- return this.http.post('http://localhost:8081/' + 'logout', {} )
- .map(resp => {
- localStorage.removeItem('currentUser');
- });
- }
- }
Add Comment
Please, Sign In to add comment