如何在angular 6中处理API令牌

时间:2018-10-02 04:11:43

标签: angular

我想处理请求-使用API​​中的令牌响应如何处理? 请提供任何API令牌演示和登录身份验证的示例。因为我是新手。 例如:     const authToken = this.authService.getToken();

1 个答案:

答案 0 :(得分:1)

您想使用HTTP拦截器来拦截请求并添加auth令牌(如果存在)。如果auth令牌不存在,您还可以重定向到登录页面。

export class AuthInterceptor implements HttpInterceptor {
  constructor(private authService: AuthService) {}

  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    const headers = httpReq.headers;
    headers.set('Authorization', this.authService.getToken());

    const newRequest = request.clone({headers: headers});

    return next.handle(newRequest);
  }
}

确保将拦截器添加到模块中

import { AuthService } from './services/auth.service.ts';
import { AuthInterceptor } from './interceptors/auth.interceptor.ts';

providers: [
  AuthService,
  { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },
];