Использование частного API с использованием Azure AD и SAML 2.0 - PullRequest
0 голосов
/ 16 мая 2019

У меня есть клиентское приложение API, которое использует частный API из веб-приложения. Я использую авторизацию Bearer для аутентификации. Я получаю Несущий, используя следующий вызов: grant_type = пароль и имя пользователя = {Имя пользователя} & пароль = {пароль} & client_id = {ClientId} & tenant_id = {TenantID}

Затем я использую возвращенный носитель для аутентификации в API.

Все работало нормально, пока мы не добавили SSO-аутентификацию в приложение, используя Azure AD с SAML 2.0

Я проверил документацию Azure и обнаружил следующее: https://docs.microsoft.com/en-us/azure/active-directory/develop/single-sign-on-saml-protocol

Я не уверен, с чего начать. Не могли бы вы дать мне несколько советов о том, как добавить мое текущее приложение, чтобы оно поддерживало новую аутентификацию SSO?

Спасибо!

1 Ответ

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

Похоже, что SAML уже реализован в вашем приложении AAD и вы хотите использовать другую форму аутентификации вне ROPC / OIDC / Auth Code.

С помощью токена SAML Assertion Bearer можно получить токен доступа с помощью токена SAML. К сожалению, нет официальной документации о том, как это сделать, но это поддерживается в соответствии с отзывами здесь: https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/19728688-support-for-oauth-2-0-saml-bearer-assertion-flow

Используя поток SAML Assertion Bearer, вы можете использовать SSO Auth, чтобы получить токен SAML2.0, а затем использовать SAML токен, чтобы получить новый токен доступа, используя поток подтверждения носителя SAML.

RFC для этого потока можно найти здесь: https://tools.ietf.org/html/rfc7522

Поскольку официальной документации Microsoft о том, как это сделать, не существует, возможно, это не лучший путь для перехода в настоящее время. Если он уже работает с потоком ROPC, вы можете подождать, пока будет предоставлена ​​надлежащая документация для потока SAML Assertion Bearer. Или используйте один из других потоков, по которым у Microsoft есть официальная документация. Эти потоки можно найти здесь: https://docs.microsoft.com/en-us/azure/active-directory/develop/authentication-scenarios

Если есть какие-либо вопросы, пожалуйста, прокомментируйте, и я постараюсь ответить вам как можно скорее.

...