Как сделать openid звонок из запроса saml - PullRequest
0 голосов
/ 21 мая 2019

Внедрение SSO в моем приложении и из приложения-1 мне нужно сделать вызов покоя к приложению-2. Войдите в app-1 с помощью SAML и успешно прошли аутентификацию, а затем попытайтесь сделать перерыв для вызова из app-1 с openid, но, поскольку для аутентификации используется только saml, не удается получить маркер доступа / носителя. Помогите пожалуйста как получить токен доступа / токен от saml запроса / ответа. Я использую Keycloak Server для реализации единого входа.

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

(1) OpenID Connect 1.0 - это простой идентификационный уровень поверх протокола OAuth 2.0.Это позволяет клиентам проверять подлинность конечного пользователя на основе аутентификации, выполняемой сервером авторизации, а также получать базовую информацию о профиле конечного пользователя взаимодействующим и REST-подобным образом.

(2) В настоящее время отсутствует проект документа IETF, касающийся профиля SAML 2.0 для клиента OpenID Connect.

Мы можем обратиться к черновому документу IETF Профиль SAML 2.0 для клиента OAuth 2.0 .

Токен доступа OAuth 2.0 с использованием фильтра подтверждения SAML позволяет клиенту OAuth запрашивать токен доступа с использованием утверждения SAML.Это поддерживает поток SAML OAuth 2.0, который используется, когда клиент желает использовать существующие доверительные отношения, выраженные через семантику утверждения SAML, без шага прямого одобрения пользователя на сервере авторизации.Для получения дополнительной информации о поддерживаемых потоках OAuth см. Потоки аутентификации OAuth 2.0 API-шлюза .

(3) И Auth0, и WSO2 Identity Server с открытым исходным кодом реализуют профиль SAML для OpenID Connect / OAuth дляпреобразовать токен SAML в токен OpenID Connect / OAuth, что продемонстрировали Auth0 Конфигурация SAML и WSO2 Добавление и настройка провайдера идентификации .Другими словами, Auth0 и WSO2 Identity Server могут передавать аутентификацию SAML, предоставляемую IdP SAML, либо клиенту OpenID Connect, либо клиенту OAuth 2.0.

0 голосов
/ 21 мая 2019

Вы не можете.

REST API нужен токен JWT, а не SAML.

Измените SAML на OpenID Connect, и он будет работать.

...