用于令牌续订的iframe超时,我们最终将路径附加到重定向网址

时间:2018-03-09 02:05:05

标签: azure-active-directory adal adal.js

我们正在使用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而不是本地副本。

问题:

  • 什么会使这个开始计时(已经工作2年)
  • 为什么我们会在重定向页面上以附加路径结束而不是将其带到正确的位置?

根据第二项,我调试并看到它正在尝试使用$ window.location.href转到该位置,但似乎永远不会到达那里。

感谢, 〜约翰

0 个答案:

没有答案