2016-10-12 9 views
1

В настоящее время используется 1.6.0 скриптов и файлов CSS. У меня есть виджет, интегрированный в мое приложение Angular 1.5.x. Я испытывал проблемы, получающие 404 при попытке оказать окт Widget в качестве запроса GET к:Okta Widget NOT Rendering

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

Это означает, что виджет визуализируется один раз, и я могу войти, но как только я выйти , Я не могу повторно визуализировать виджет, не обновляя браузер в первую очередь.

Кто-нибудь нашел и разрешил эту проблему?

ответ

1

Я думаю, это может быть связано с this Stack Overflow issue. Вы можете проверить свои настройки конфиденциальности?

Причина этого вопроса заключается в том, что виджет обменивает sessionToken (который вы получаете после входа в систему) с помощью id_token с помощью скрытого iframe, после чего также устанавливается cookie сеанса. Но, поскольку это находится в , это считается сторонним файлом cookie.

В настоящее время нет хорошего способа обойти это, если в вашем браузере отключены сторонние файлы cookie без перенаправления на Okta для установки cookie сеанса. Новая версия (1.8.0) виджета будет выпущена на этой неделе, это упростит (см. this commmit, в котором рассматривается эта проблема). С помощью этой новой версии, проходящей в authParams.display = 'page', выполняется вызов /authorize через перенаправление, а не через скрытый iframe.

+0

Я рад, это будет решаться в следующем выпуске. Я бы не хотел, чтобы каждый пользователь делал это изменение в своем браузере. Когда я должен ожидать этот выпуск? –

+0

Он был опубликован и теперь доступен [на NPM] (https://www.npmjs.com/package/@okta/okta-signin-widget), и выйдет на наш CDN производства примерно через полтора недели (после прохождения oktapreview и т. д.). – remanc

+0

Хорошо, я вижу, что 1.8.0 теперь доступен через CDN. Где я могу найти образец того, как его использовать? –

0

Теперь 1.8.0 доступен через CDN окта, вот это пример того, как использовать параметр 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> 
+0

, так что responseType теперь ** code ** и больше не ** id_token **? –

+0

Я пробовал тот же код, что и выше. Я получаю предупреждение 302. – Sudhir