【问题标题】:MSAL : Issue with acquire token slentlyMSAL:缓慢获取令牌的问题
【发布时间】:2020-05-18 11:17:30
【问题描述】:

您好,我在 Angular 中使用“MSAL”库。当我尝试静默获取令牌时,我会在响应中得到旧令牌。

if (this.authService.getAccount()) {
    this.authService.acquireTokenSilent(this.loginRequest)
                            .then((response: AuthResponse) => {
    });
}

在上面的代码中,当我检查响应时,我得到了过期的令牌。但是当我调试“this.authService”时,我在重定向响应中看到了新令牌。我做错了什么?

【问题讨论】:

  • authService 缓存吗?你能在它的文档中找到如何清除缓存吗?
  • 您如何验证返回的令牌是否已过期?

标签: angular angular8 msal


【解决方案1】:

根据此处的示例文档:https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/4b74fda49768168768ed427609941566e41456d3/lib/msal-browser/docs/token-lifetimes.md#token-renewal

acquireTokenSilent 理论上总是会根据文档返回一个有效的令牌。如果可用,它将始终首先从缓存中获取,然后如果过期,它将使用刷新令牌请求新令牌,如果失败,它将尝试通过 iframe 请求。

如果我猜的话,这与你在 JavaScript 中的对象实例化有关,如果某些事情变得有趣,但不确定,因为我只看到了小 sn-p。

我会尝试将您的代码与示例更接近一些,如果可能的话,看看您是否有同样的问题。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 1970-01-01
  • 2021-10-15
  • 2022-01-08
  • 1970-01-01
  • 2021-11-03
  • 2021-10-26
相关资源
最近更新 更多