1

我有一个场景,我的 API 通过 Graph API 更新活动目录中的一些声明。
在这种情况下,我通过响应标头通知客户端它需要刷新访问令牌,以便获取带有新声明的令牌。

问题是,当我调用acquireTokenSilent(in Msal.UserAgentApplication) 时,给了我旧令牌。我发现这是因为 Msal 将访问令牌保存在 sessionStorage/localStorage 中。

有没有办法让我在不直接删除缓存的情况下明确请求新的访问令牌?

4

1 回答 1

1

acquireTokenSilent方法将在后台静默获取和更新令牌。默认情况下,访问令牌将在一小时后过期。1 小时后,您将获得一个新的访问令牌。你可以参考这个文件

通常我们可以使用刷新令牌来刷新访问令牌。但在 msal.js 中,这是不透明的。无论如何,你可以看看这个答案

您可以退出并重新登录。然后您将获得一个新的访问令牌。

您也可以调用acquireTokenPopuporacquireTokenRedirect方法来获取新的访问令牌,但它们是交互式方法。

有关更多详细信息,请参阅如何使用 MSAL.js 更新令牌

于 2019-04-10T07:31:29.113 回答