代码之家  ›  专栏  ›  技术社区  ›  Hank Jesus M C

RXJS概念帮助:访问和刷新令牌,非同步刷新

  •  0
  • Hank Jesus M C  · 技术社区  · 7 年前

    1. 后端使用寿命短的JWT访问令牌进行保护。在身份验证之后,客户端将获得初始访问令牌和长寿命刷新令牌。刷新令牌可用于创建新的访问令牌。
    2. 令牌是否过期。当访问令牌过期时,客户机应该延迟地刷新它们;不要重试失败的请求。

    • 第一个刷新请求通过入口并将其锁定在自身后面。然后它启动实际的令牌刷新。
    • 令牌刷新完成后,存储新的访问令牌并提升入口。
    • 所有刷新请求都返回新的访问令牌。

    this code

    BehaviorSubject

    1 回复  |  直到 7 年前
        1
  •  0
  •   Hank Jesus M C    7 年前

    我找到了解决办法!代码可用 here

    大门 使用 BehaviorSubject

    const gate$ = new BehaviorSubject(true); // open at first
    const openGate$ = gate$.pipe(
        filter(x => x === true),
        take(1)   // take only one event, then complete
    );
    
    // wait for the gate to open
    openGate$.subscribe(() => {
        // do something
    });
    
    // close the gate:
    gate$.next(false);
    
    // and open it again
    gate$.next(true);
    

    通过使用 BehaviourSubject