Example of Http Interceptor for login authentication

De Basef
Revisão de 14h16min de 23 de abril de 2018 por Admin (discussão | contribs) (Criou página com ' <source lang="typescript"> import { Injectable, Injector } from '@angular/core'; import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';...')

(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Linguagem inválida.

Você precisa especificar uma linguagem, tal como: <source lang="html4strict">...</source>

Linguagens suportadas no realce de sintaxe:

[Expandir]


import { Injectable, Injector } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import { LoginService } from './login.service';

@Injectable()
export class AuthInterceptor implements HttpInterceptor {

  constructor(private injector: Injector) {

  }

  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    const loginService = this.injector.get(LoginService);

    if (loginService.isLoggedIn()) {
      const authRequest = request.clone(
        { setHeaders:{'Authorization': `Bearer ${loginService.getUser().accessToken}`}});

      return next.handle(authRequest);
    } else {
      return next.handle(request);
    }
  }
}