OpenID Connect со встроенными ресурсами

Настройка: у нас есть наш пользователь. Наша платформа аутентификации (сервер авторизации). И два разных ресурса. Код авторизации кода используется в нашей настройке.

Теперь ресурс A встраивает материал из ресурса B в свои страницы (с чем-то вроде iFrame). Теперь то, что мы хотели бы сделать, это то, что, как только пользователь авторизован для ресурса A, он будет иметь прямой доступ к встроенным ресурсам из ресурса B.

Это возможно? Если так, как?

1 ответ

Если сервер авторизации поддерживает функцию единого входа (SSO), встроенная страница может получить свои токены без необходимости ввода учетных данных. Шаги будут такими:

  1. Пользователь запрашивает ресурс A
  2. Ресурс А перенаправляет пользователя на сервер OAuth2 для получения токенов
  3. Сервер OAuth2 создает сеанс для пользователя (определяется cookie-файлом браузера)
  4. Пользователь проходит аутентификацию и перенаправляется на страницу ресурса A
  5. Страница ресурса A запрашивает страницу ресурса B, поэтому ресурс B переходит к точке 2, но точка 4 пропускается, поскольку сервер OAuth2 уже имеет сеанс для пользователя и больше не запрашивает аутентификацию.

Или, если вашим приложениям не нужны access_tokens, просто ID-токены, вы можете передать его из ресурса A в ресурс B (например, в качестве параметра URL). В этом случае идентификационные токены должны содержать обоих клиентов (Ресурс A и B) в своем aud (аудитория) параметр.

Другие вопросы по тегам