我们已经完成了http://www.cloudidentity.com/blog/2014/10/28/adal-javascript-and-angularjs-deep-dive/,并在我们的SPA上设置了http://www.cloudidentity.com/blog/2014/10/28/adal-javascript-and-angularjs-deep-dive/,它使用AngularJS作为前端,WebAPI作为后端。
我们完美地进行了身份验证,一切都运行得很顺利。但是,一个小时后,令牌将按预期过期,并且直到路由更改时才会刷新。这意味着我们系统中的用户坐在页面上,然后访问服务器时,他们的身份验证将失败,导致他们丢失屏幕上的数据,因为我们调用_adal.login()来再次执行令牌。
我的问题是:当我们的索引包装器检测到令牌即将过期时,我们如何自动更新令牌?或者,我们如何设置ADAL来打开iFrame并在HTTP请求时更新令牌?
我发现的一切似乎都表明,我们让路由更改来处理重新身份验证,但不幸的是,这给我们的用户带来了问题。
发布于 2015-12-11 00:52:51
您应该不需要为了获得更新的令牌而更改路由。每当拦截器检测到对后端(或已注册端点之一)的调用时,它会尝试从缓存中检索适当的令牌,如果令牌在到期后5分钟内(或不存在),则ADAL会自动使用隐藏的iframe来更新它。您应该不需要显式调用login。此外,Azure AD的会话cookie是执行静默令牌续订所需的工件-并且持续时间超过1小时。我想知道出了什么问题。如果你在http://www.cloudidentity.com/blog/contact/上联系我了解更多细节,我很乐意进一步调查这件事。
https://stackoverflow.com/questions/34189768
复制相似问题