Okta Widget NOT Rendering

时间:2016-10-12 17:47:54

标签: javascript angularjs widget okta

目前,使用1.6.0的脚本和CSS文件。我在我的Angular 1.5.x应用程序中集成了小部件。在尝试将OKTA Widget作为其GET请求呈现给:

时,我遇到了接收404的问题

https://*.oktapreview.com/api/v1/sessions/me

这意味着小部件会被渲染一次并且我能够登录,但是一旦我退出,我就无法重新渲染小部件而无需先刷新浏览器。

有没有人找到并解决了这个问题?

2 个答案:

答案 0 :(得分:1)

我认为这可能与this Stack Overflow issue有关。你能检查你的隐私设置吗?

出现此问题的原因是,小部件通过隐藏的iframe与sessionToken交换id_token(登录后获得),此时会话cookie也已设置。但是,由于这是<iframe>,因此它被视为第三方Cookie。

当您的浏览器禁用第三方Cookie而没有重定向到Okta设置会话cookie时,目前没有好办法解决此问题。本周将发布的小部件的新版本(1.8.0)将使这更容易(参见解决此问题的this commmit)。使用此新版本,传入authParams.display = 'page'将通过重定向而不是通过隐藏的iframe执行对/authorize的调用。

答案 1 :(得分:0)

现在可以通过Okta的CDN获得1.8.0,以下是如何使用上述authParams.display = 'page'设置的示例:

  <script>
    var config = {
      baseUrl: 'https://YOUR-OKTA-ORG-HERE.okta.com',
      clientId: 'YOUR-OKTA-CLIENT-ID-HERE',
      redirectUri: 'YOUR-REDIRECT-URL-HERE',
      authParams: {
        responseType: 'code',
        display: 'page',
        scopes: ['openid', 'email', 'profile'],
      }
    };
    var oktaSignIn = new OktaSignIn(config);

    oktaSignIn.renderEl({ el: '#app-container' }, () => {});
  </script>