Сценарий обмена маркерами платформы идентификации Майкрософт с SAML и OIDC/OAuth

SAML и OpenID Подключение (OIDC) / OAuth — это популярные протоколы, используемые для реализации единого входа. Некоторые приложения реализуют только SAML, другие — только OIDC/OAuth. Оба протокола используют маркеры (токены) для обмена секретами. Дополнительные сведения о SAML см . в статье о протоколе SAML единого входа. Дополнительные сведения о OIDC/OAuth см. в статье Использование протоколов OAuth 2.0 и OpenID Connect с платформой удостоверений Майкрософт.

В этой статье рассматривается типичный сценарий, в котором приложение реализует протокол SAML, но вызывает API Graph, который использует протокол OIDC/OAuth. Для пользователей, работающих с этим сценарием, предлагаются базовые инструкции.

Сценарий: у вас есть токен SAML, и вы хотите вызвать API Graph

Многие приложения реализуются на основе протокола SAML. При этом в API Graph используются протоколы OIDC/OAuth. Вы можете (хотя это нетривиальная задача) добавить функции OIDC/OAuth в приложение с SAML. После того как в приложении будут доступны функциональные возможности OAuth, вы сможете использовать API Graph.

Общая стратегия сводится к добавлению в приложение стека OIDC/OAuth. В приложении, в котором реализованы оба стандарта, можно использовать файл cookie сеанса. Обмен маркерами не производится явным образом. Вы реализуете вход пользователя в систему с помощью SAML, который создает файл cookie сеанса. Когда API Graph вызывает поток OAuth, для проверки подлинности используется файл cookie сеанса. В этой стратегии предполагается, что проверки условного доступа проходят успешно и пользователь проходит проверку подлинности.

Примечание.

Рекомендуемая библиотека для добавления поведения OIDC/OAuth в приложения — это библиотека проверки подлинности Майкрософт (MSAL).

Следующие шаги