小编daf*_*daf的帖子

Angular 7自动刷新不记名令牌

我有一个 AuthService,主要有两种方法:

  • getAuthToken(返回 Promise,因此可以延迟调用/在单个集合上阻塞等待多次调用)

  • refreshToken(还返回一个 Promise,使用原始 JWT 上可用的刷新令牌来请求新的身份验证令牌)

我想自动

  • 将不记名令牌应用于每个 http 请求(工作)
  • 刷新时刷新令牌——我已经快到了,只是使用刷新令牌的请求结果不会返回到原始订阅者。

这是代码:

import { HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from "@angular/common/http";
import { from, Observable } from "rxjs";
import { Injectable } from "@angular/core";
import { AuthService } from "./auth.service";

@Injectable()
export class AuthHttpInterceptor implements HttpInterceptor {
  constructor(
    private _authService: AuthService,
  ) {
  }

  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    return from(this.addBearerToken(req, next));
  }

  private async addBearerToken(req: HttpRequest<any>, next: HttpHandler): Promise<HttpEvent<any>> {
    const token = …
Run Code Online (Sandbox Code Playgroud)

authorization interceptor jwt bearer-token angular

4
推荐指数
1
解决办法
8941
查看次数

标签 统计

angular ×1

authorization ×1

bearer-token ×1

interceptor ×1

jwt ×1