我们正在使用adal-angular来保护我们的网站。在加载时,我们有一些昂贵的查询,所以为了避免在iframe中重新加载(并重复查询),我们有一个自定义重定向页面:
adalAuthenticationServiceProvider.init(
{
anonymousEndpoints: accessDeniedPages, // Pages that are accessible when the user is not authenticated
instance: 'https://[redacted]/', // This is to differentiate Prod from Int environments
tenant: '[redacted]', // This is the name of our AAD tenant
clientId: clientId, // This is our AAD app client id (not the Web App)
endpoints: endpoints, // These are the other AAD apps we can talk to (see above)
redirectUri: frameRedirectUrl,
cacheLocation: 'localStorage' // Specifies Local instead of Session storage
}, $httpProvider);
最近我们注意到一个问题,当用户使用过期令牌进入网站时,令牌续订会启动,但它们会被放置:
A)在我们的重定向页面上添加了路由参数: https://localhost:44301/app/frameRedirect/frameRedirect.html#/reports/代替https://localhost:44301/#/reports/
B)在附加了令牌的重定向网址上 https://localhost:44301/app/frameRedirect/frameRedirect.html#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6 ......
我启用了详细日志记录,我注意到的第一件事是有超时创建iframe:
周一,2018年3月8日23:05:35格林尼治标准时间:1.0.17-VERBOSE:加载框架已经超时:资源https://[redacted]
6秒
当我提高超时(从6秒开始)时,似乎正在工作(虽然进入repro状态总是不确定)。
然而,我无法在制作中提高这一点,因为我们从CDN获得了adal而不是本地副本。
问题:
根据第二项,我调试并看到它正在尝试使用$ window.location.href转到该位置,但似乎永远不会到达那里。
感谢, 〜约翰