将刷新令牌存储在 cookie 中

Store refresh token in a cookie

我正在通过调用 DirectLine Api (POST/v3/directline/tokens/generate) 获得的令牌初始化聊天。我将此令牌存储在 cookie 中并使用它来恢复对话。 我的问题是直连30分钟后自动刷新token,没找到保存新token的方法。 有谁知道如何保存新令牌?

提前致谢

订阅 DirectLine 的 conectionStatus 可以监听 ConnectionStatus.Online,它在 [=24 之后触发=]。然后,更新 cookie:

directLine.connectionStatus$.subscribe(connectionStatus => {
    if (connectionStatus === ConnectionStatus.Online) {
      setTokenCookie(this.token);
    }
  });

参考DirectLineJs源码: https://github.com/Microsoft/BotFramework-DirectLineJS/blob/master/src/directLine.ts#L473

 public reconnect(conversation: Conversation) {
        this.token = conversation.token;
        this.streamUrl = conversation.streamUrl;
        if (this.connectionStatus$.getValue() === ConnectionStatus.ExpiredToken)
            this.connectionStatus$.next(ConnectionStatus.Online);
    }