Получение refresh_token на стороне сервера (sessionToken) с помощью Okta

Мы хотим использовать наш собственный httponly strict cookie с токеном доступа и обновления в нем для наших архитектур микросервисов.

Мы в первую очередь используем OKTA Authentication API для регистрации пользователей на нашей собственной странице входа. Мы смогли получить access_token на конечной точке авторизации, используя responsetype = token с sessionToken и перенаправив результат как form_post на нашу конечную конечную точку.

Мне не удалось получить refresh_token, несмотря на добавление offline_access в область видимости, даже если он отмечен в настройках моего приложения okta.

Я не хочу использовать поток паролей ресурсов, так как мы предпочитаем использовать sessionToken, который будет работать с многофакторным коэффициентом, если потребуется в будущем.

Я также пытаюсь использовать поток кода и перенаправить результат на нашу внутреннюю часть, но поскольку поток кода является клиентским, он возвращает эту ошибку. Требуется верификатор кода PKCE, когда метод аутентификации конечной точки токена - «NONE». Эта ошибка возникает, даже если мы выбираем приложение .NET.

Как мы можем получить серверную часть refresh_token с помощью Okta?


person Pilouk    schedule 08.01.2021    source источник


Ответы (2)



Я смог использовать поток CODE и перенаправить со стороны сервера на авторизованную конечную точку следующим образом:

https: // {YOUROKTADOMAIN} / oauth2 / default / v1 / authorize? client_id = {YOURCLIENTID} & response_type = code & scope = openid% 20offline_access & response_mode = query & redirect_uri = {YOURSERVERSIDEGETURI} & state = {Guokid.NewGuid (API-интерфейс) = сеанс & }

Этот вызов будет отправлен обратно на мой сервер, поэтому я могу самостоятельно обработать токен и создать свой собственный файл cookie.

person Pilouk    schedule 11.01.2021