Guest User

Untitled

a guest
Jun 25th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. import { Injectable } from '@angular/core';
  2. import { Observable } from 'rxjs/Observable';
  3. import { BehaviorSubject } from 'rxjs';
  4. import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
  5. import { Signin, ResetPassword } from '../model/user.model';
  6. import { Router } from '@angular/router';
  7.  
  8. @Injectable()
  9. export class AuthService {
  10. private URL_Register = 'http://localhost:52718/account/register'; //Register User (Working)
  11. private URL_Signin = 'http://localhost:52718/account/Signin'; // Login User (Working)
  12. private URL_Token = 'http://localhost:52718/connect/token'; // Get Token Against Register User (Working)
  13. private URL_Data = 'http://localhost:52718/api/values'; // Get Token Against Register User (Working)
  14. private URL_Claims = 'http://localhost:52718/account/Get';
  15. private URL_PasswordRecovery = 'http://localhost:52718/account/ForgotPassword';
  16. private URL_ChangePassword = 'http://localhost:52718/account/ChangePassword';
  17. public isUserAuthenticated: boolean = false;
  18. private loggedIn = new BehaviorSubject<boolean>(false); // {1}
  19.  
  20. get isLoggedIn() {
  21. return this.loggedIn.asObservable(); // {2}
  22. }
  23.  
  24. constructor(
  25. private http: HttpClient,
  26. private router: Router) { }
  27.  
  28. userAuthentication(credientials: Signin) {
  29. let reqHeader = new HttpHeaders({ 'Content-Type': 'application/json' });
  30. return this.http.post(this.URL_Signin, JSON.stringify(credientials), { headers: reqHeader }).subscribe((data: any) => {
  31. localStorage.setItem('userToken', data.token);
  32. this.loggedIn.next(true);
  33. this.router.navigate(['/dashboard']);
  34. },
  35. (err: HttpErrorResponse) => {
  36. console.log('Auth Service (Method userAuthentication): [HttpError] ' + err.message)
  37. });
  38. }
  39.  
  40.  
  41. fetchData() {
  42. return this.http.get(this.URL_Data);
  43. }
  44.  
  45. getUserClaims() {
  46. return this.http.get(this.URL_Claims);
  47. }
  48.  
  49. logout() {
  50. // remove user from local storage to log user out
  51. localStorage.removeItem('userToken');
  52. this.loggedIn.next(false);
  53. this.router.navigate(['/login']);
  54. }
  55.  
  56.  
  57. forgotPassword(ResetPassword: ResetPassword) {
  58. let reqHeader = new HttpHeaders({ 'Content-Type': 'application/json' });
  59. return this.http.post(this.URL_PasswordRecovery, JSON.stringify(ResetPassword), { headers: reqHeader }).subscribe((data: any) => { },
  60. (err: HttpErrorResponse) => {
  61. console.log('Auth Service (Method userAuthentication): [HttpError] ' + err)
  62. });;
  63. }
  64.  
  65. changePassword(QueryParams: Object) {
  66. let reqHeader = new HttpHeaders({ 'Content-Type': 'application/json' });
  67. return this.http.put(this.URL_ChangePassword, JSON.stringify(QueryParams), { headers: reqHeader }).subscribe((data: any) => {
  68. localStorage.setItem('userToken', data.token);
  69. this.loggedIn.next(true);
  70. this.router.navigate(['/dashboard']);
  71. },
  72. (err: HttpErrorResponse) => {
  73. console.log('Auth Service (Method changePassword): [HttpError] ' + err)
  74. });;
  75. }
  76.  
  77. }
  78.  
  79. get isLoggedIn() {
  80. return this.loggedIn.asObservable(); // {2}
  81. }
  82.  
  83. get isLoggedIn() {
  84. let currentUser = localStorage.getItem('userToken');
  85. if (!currentUser) { }
  86. this.loggedIn.next(true);
  87. return this.loggedIn.asObservable();
  88. }
Add Comment
Please, Sign In to add comment