刷新来自天蓝色广告的访问令牌

时间:2019-04-09 23:16:36

标签: javascript azure azure-ad-b2c msal msal.js

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

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

我是否可以在不直接删除缓存的情况下明确请求新的访问令牌?

1 个答案:

答案 0 :(得分:1)

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

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

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

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

有关更多详细信息,请参见How to renew tokens with MSAL.js