Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // User.service.ts
- import {RequestOptions, Headers, Response, Http} from '@angular/http';
- import {AppConfig} from '../../app.config';
- import {tokenNotExpired, JwtHelper} from "angular2-jwt";
- import {HttpClient} from './httpclient';
- @Injectable()
- export class UserService {
- jwtHelper: JwtHelper = new JwtHelper();
- // private session_valid: boolean = false;
- session_token: any;
- auth_token: string;
- auth_refresh_token: string;
- lang_locale_token: string;
- private loading: boolean;
- constructor(@Inject(forwardRef(() => HttpClient)) private httpClient: HttpClient,
- private http: Http
- private config: AppConfig) {
- // if session_token is not stored in your localStorage initialize client
- if (!localStorage.getItem('session_token')) {
- this.getInitClient();
- }
- // if token(auth_token) is expired, refresh both tokens (auth_token, auth_refresh_token)
- if (!tokenNotExpired('auth_token')) {
- this.refreshAuthToken();
- }
- }
- // Check if the User is loggedIn
- // Return True; if auth_token is not expired
- // Return False; if auth_token is expired
- loggedIn() {
- let token = localStorage.getItem('auth_token');
- console.log(this.jwtHelper.getTokenExpirationDate(token));
- return tokenNotExpired('auth_token');
- };
- }
- //Httpclient.ts
- import {Injectable} from '@angular/core';
- import {
- Http,
- Headers
- } from '@angular/http';
- @Injectable()
- export class HttpClient {
- constructor(private http: Http) {
- }
- sessionToken(headers: Headers) {
- headers.append('Accept', '*/*');
- headers.append('X-Requested-With', 'XMLHttpRequest');
- headers.append('LANG-LOCALE', localStorage.getItem('lang_locale_token'));
- headers.append('SESSION', localStorage.getItem('session_token'));
- if (localStorage.getItem('auth_token')) {
- headers.append('Authorization', 'Bearer' + localStorage.getItem('auth_token'));
- }
- if (!this.userService.loggedIn()) {
- headers.append('Authorization', 'Bearer' + localStorage.getItem('refresh_token'));
- }
- }
- get(url) {
- const headers = new Headers();
- this.sessionToken(headers);
- return this.http.get(url, {
- headers: headers
- });
- }
- post(url, data) {
- const headers = new Headers();
- this.sessionToken(headers);
- return this.http.post(url, data, {
- headers: headers
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement