目前,使用1.6.0的脚本和CSS文件。我在我的Angular 1.5.x应用程序中集成了小部件。在尝试将OKTA Widget作为其GET请求呈现给:
时,我遇到了接收404的问题 https://*.oktapreview.com/api/v1/sessions/me
这意味着小部件会被渲染一次并且我能够登录,但是一旦我退出,我就无法重新渲染小部件而无需先刷新浏览器。
有没有人找到并解决了这个问题?
答案 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>