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

SAML и OpenID Connect (OIDC)/OAuth — это популярные протоколы, используемые для реализации единого входа (SSO). Некоторые приложения реализуют только 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). Дополнительные сведения о MSAL см. в статье Обзор библиотеки проверки подлинности Майкрософт (MSAL). Предыдущая версия библиотеки называлась библиотекой проверки подлинности Active Directory (ADAL), но использовать ее не рекомендуется, так как она заменена версией MSAL.

Дальнейшие действия