Adal.js Angular中的令牌刷新问题



>刷新令牌在 adal.js(@types - 1.0.8( 中没有按预期工作,当用户在屏幕上空闲了最后 15 分钟(因为我在旧令牌到期 15 分钟之前刷新令牌(,然后执行操作,然后我的服务调用失败。 因为它在标头中获取旧令牌(过期(,但令牌刷新也在此之后完成。 我如何在 AngularJS 和 adal 库中处理这个问题?我使用以下代码来获取刷新令牌

this.authenticationContext.getCachedUser();
this.authenticationContext.acquireToken(config.clientId, function (errorDesc, token) {
if (errorDesc) {
console.log("ErrorDesc", errorDesc);
}
if (token) {
console.log("calling the Web API with the access token", token);
}
});

棱角分明。

  1. 检查回复 URL 和重定向 URI 是否匹配,并且在应用注册和配置/应用设置中配置正确。
  2. 添加一个方法 var user = authContext.getCachedUser(( 在 index.js 中调用 authContext.handleWindowCallback 后立即添加。此函数设置 adal 的用户属性,它需要在每次页面加载时运行。
  3. 设置令牌生存期。 https://learn.microsoft.com/en-us/azure/active-directory/active-directory-configurable-token-lifetimes

Azure 身份验证令牌每 1 小时过期一次。 您需要在令牌过期之前刷新令牌。 为此,ADAL.js库上有许多角度包装器。在下面的链接中查看我的答案以获得想法。

Adal Angular 4 - 刷新令牌未按预期工作

最新更新