Advertisement
Guest User

Untitled

a guest
Apr 14th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. @Injectable()
  2. export class AuthenticationService {
  3. constructor(private http: Http) { }
  4.  
  5. login(username: string, password: string) {
  6.  
  7. let loginURL = CONFIGURATION.agileUrls+'oauth2/token';
  8.  
  9. let headers = new Headers({
  10. 'Accept': 'application/json',
  11. 'Content-Type': 'application/x-www-form-urlencoded'
  12. });
  13.  
  14. let postRequestBody = 'grant_type=password&username='+username+'&password='+password+'&client_id=8737e3f7a7984167b4d09f658a76bf32';
  15.  
  16. let options = new RequestOptions({ headers: headers });
  17.  
  18. return this.http.post(loginURL, postRequestBody, options)
  19. .map((response: Response) => {
  20. // login successful if there's a jwt token in the response
  21. console.log('Response: ', response.json());
  22. let user = response.json();
  23. if (user && user.access_token) {
  24.  
  25. // store user details and jwt token in local storage to keep user logged in between page refreshes
  26. let userDetails = {
  27. 'user': user,
  28. 'username': username
  29. }
  30.  
  31. localStorage.setItem('currentUser', JSON.stringify(userDetails));
  32. }
  33. })
  34. .catch(res => {
  35. console.log('CATCH: ', res.json());
  36. throw(res.json());
  37. });
  38. }
  39.  
  40. logout() {
  41. // remove user from local storage to log user out
  42. localStorage.removeItem('currentUser');
  43. }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement