как мне запросить токен доступа у второго сервера авторизации okta

Я просматриваю OKTA. У меня настроено два сервера авторизации: по умолчанию и пользовательский. У меня есть клиент (веб-приложение), который настроен и правильно входит в систему. Я получаю ожидаемые id_token и access_token. Проблема, с которой я столкнулся, заключается в том, как мне вызвать api, который ожидает токен доступа от второго сервера авторизации? Как мне запросить токен доступа от имени вошедшего в систему пользователя (сервер аутентификации по умолчанию) со второго сервера аутентификации, не предлагая пользователю снова войти в систему? Все это делается в приложении mvc .net core.


person cletisgipson    schedule 08.03.2018    source источник
comment
Итак, что вы пытаетесь аутентифицировать на одном сервере аутентификации, а затем использовать ту же аутентификацию для получения токенов со второго сервера аутентификации?   -  person Kavindu Dodanduwa    schedule 09.03.2018


Ответы (2)


В каждом из ваших приложений вы можете проверить наличие активного сеанса Okta. Если обнаружено, инициируйте поток OIDC AuthN.

Это конечная точка на клиенте, которую вы можете использовать для проверки наличия активного сеанса https://developer.okta.com/docs/api/resources/sessions#get-current-session

person Jeremy    schedule 13.03.2018

Вы можете использовать следующий URL-адрес авторизации, чтобы получить токен доступа или токен идентификатора

{{url}}/oauth2/{auth server ID}/v1/authorize?client_id={client id}&response_type=token&response_mode=fragment&scope=openid&nonce=nonce&state=state&redirect_uri={redirect url}

Получите идентификатор сервера аутентификации из URL-адреса, когда вы увидите посещение сервера в пользовательском интерфейсе.

Вышеупомянутый вызов требует активного сеанса, поэтому, если вы недавно подписали пользователя в первый раз с сервером аутентификации по умолчанию. Вам не нужно снова подписывать пользователя, чтобы получить токен для второго сервера аутентификации.

person Sara Daqiq    schedule 04.04.2018