Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // User.service.ts
  2. import {RequestOptions, Headers, Response, Http} from '@angular/http';
  3.  
  4. import {AppConfig} from '../../app.config';
  5. import {tokenNotExpired, JwtHelper} from "angular2-jwt";
  6. import {HttpClient} from './httpclient';
  7.  
  8. @Injectable()
  9. export class UserService {
  10.   jwtHelper: JwtHelper = new JwtHelper();
  11.   // private session_valid: boolean = false;
  12.   session_token: any;
  13.   auth_token: string;
  14.   auth_refresh_token: string;
  15.   lang_locale_token: string;
  16.   private loading: boolean;
  17.  
  18.  
  19.   constructor(@Inject(forwardRef(() => HttpClient)) private httpClient: HttpClient,
  20.               private http: Http
  21.               private config: AppConfig) {
  22.     // if session_token is not stored in your localStorage initialize client
  23.     if (!localStorage.getItem('session_token')) {
  24.       this.getInitClient();
  25.     }
  26.     // if token(auth_token) is expired, refresh both tokens (auth_token, auth_refresh_token)
  27.     if (!tokenNotExpired('auth_token')) {
  28.       this.refreshAuthToken();
  29.     }
  30.   }
  31.  
  32.   // Check if the User is loggedIn
  33.   // Return True; if auth_token is not expired
  34.   // Return False; if auth_token is expired
  35.   loggedIn() {
  36.     let token = localStorage.getItem('auth_token');
  37.     console.log(this.jwtHelper.getTokenExpirationDate(token));
  38.  
  39.     return tokenNotExpired('auth_token');
  40.   };
  41. }
  42.  
  43.  
  44. //Httpclient.ts
  45. import {Injectable} from '@angular/core';
  46. import {
  47.   Http,
  48.   Headers
  49. } from '@angular/http';
  50.  
  51. @Injectable()
  52. export class HttpClient {
  53.   constructor(private http: Http) {
  54.   }  
  55. sessionToken(headers: Headers) {
  56.     headers.append('Accept', '*/*');
  57.     headers.append('X-Requested-With', 'XMLHttpRequest');
  58.     headers.append('LANG-LOCALE', localStorage.getItem('lang_locale_token'));
  59.     headers.append('SESSION', localStorage.getItem('session_token'));
  60.  
  61.     if (localStorage.getItem('auth_token')) {
  62.       headers.append('Authorization', 'Bearer' + localStorage.getItem('auth_token'));
  63.     }
  64.     if (!this.userService.loggedIn()) {
  65.       headers.append('Authorization', 'Bearer' + localStorage.getItem('refresh_token'));
  66.     }
  67.   }
  68.  
  69.   get(url) {
  70.     const headers = new Headers();
  71.     this.sessionToken(headers);
  72.     return this.http.get(url, {
  73.       headers: headers
  74.     });
  75.   }
  76.  
  77.   post(url, data) {
  78.     const headers = new Headers();
  79.     this.sessionToken(headers);
  80.     return this.http.post(url, data, {
  81.       headers: headers
  82.     });
  83.   }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement