【问题标题】:JavaScript ADAL renew token on non-route change?JavaScript ADAL 在非路由更改时更新令牌?
【发布时间】:2015-12-11 08:52:50
【问题描述】:

我们已经通过http://www.cloudidentity.com/blog/2014/10/28/adal-javascript-and-angularjs-deep-dive/ 并在我们的 SPA 上设置 Azure,它使用 AngularJS 作为前端,WebAPI 作为后端。

我们完美认证,一切顺利。但是,一个小时后,令牌会按预期过期,并且在路由更改之前不会刷新。这意味着我们系统中的用户坐在页面上然后向服务器发出 GET 将导致他们的身份验证失败,导致他们在我们调用 _adal.login() 以再次获取令牌时丢失屏幕上的数据。

我的问题是:我们如何在索引包装器检测到令牌即将过期时自动更新令牌,或者我们如何设置 ADAL 以打开 iFrame 并在 HTTP 请求上更新令牌?

我似乎发现的一切都表明我们让路由更改处理重新身份验证,但不幸的是这给我们的用户带来了问题。

【问题讨论】:

    标签: angularjs adal adal.js


    【解决方案1】:

    您无需更改路线即可获得更新的令牌。每当拦截器检测到对后端(或已注册端点之一)的调用时,它就会尝试从缓存中检索适当的令牌,如果令牌在到期后 5 分钟内(或不存在),则 ADAL 自动使用隐藏的 iframe更新它。您不需要显式调用登录。此外,Azure AD 的会话 cookie 是执行静默令牌更新所需的工件 - 持续时间超过 1 小时。我想知道出了什么问题。如果您通过 http://www.cloudidentity.com/blog/contact/ 与我联系并提供更多详细信息,我很乐意进一步调查。

    【讨论】:

    • 我已在您的网站上给您留言,其中包含有关我正在进行的项目的信息。我很有可能继承了一个项目,它使用的 Angular 版本已经足够老了,以至于你的 adal-angular.js 库中的某些功能可能太现代了,但我还没有精通它,无法真正确定如果是这样的话。再次感谢!
    • Adal.js 不引用令牌。我是否需要实施 angular-adal 来刷新令牌作品?
    • ADAL.js 确实会更新令牌。你在调用什么方法?
    猜你喜欢
    • 2017-12-10
    • 1970-01-01
    • 2023-04-02
    • 2018-12-20
    • 2016-10-21
    • 2017-09-13
    • 2018-02-20
    • 2018-06-17
    • 2015-12-18
    相关资源
    最近更新 更多