Advertisement
Guest User

Untitled

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