Microsoft Identity Platform-Tokenaustauschszenarien mit SAML und OIDC/OAuthMicrosoft identity platform token exchange scenarios with SAML and OIDC/OAuth

SAML und OpenID Connect (OIDC)/OAuth sind beliebte Protokolle für die Implementierung von einmaligem Anmelden (Single Sign-On, SSO).SAML and OpenID Connect (OIDC) / OAuth are popular protocols used to implement Single Sign-On (SSO). Einige Apps implementieren möglicherweise nur SAML, während andere möglicherweise nur OIDC/OAuth implementieren.Some apps might only implement SAML and others might only implement OIDC/OAuth. Beide Protokolle verwenden Token, um Geheimnisse zu übermitteln.Both protocols use tokens to communicate secrets. Weitere Informationen zu SAML finden Sie unter SAML-Protokoll für einmaliges Anmelden.To learn more about SAML, see Single Sign-On SAML protocol. Weitere Informationen zu OIDC/OAuth finden Sie unter OAuth 2.0- und OpenID Connect-Protokolle auf der Microsoft Identity Platform.To learn more about OIDC/OAuth, see OAuth 2.0 and OpenID Connect protocols on Microsoft identity platform.

In diesem Artikel wird ein gängiges Szenario beschrieben, in dem eine App SAML implementiert, Sie aber die Graph-API aufrufen müssen, die OIDC/OAuth verwendet.This article outlines a common scenario where an app implements SAML but you need to call into the Graph API, which uses OIDC/OAuth. Für Personen, die in einem solchen Szenario arbeiten, wird ein grundlegender Leitfaden bereitgestellt.Basic guidance is provided for people working with this scenario.

Szenario: Sie verfügen über ein SAML-Token und möchten die Graph-API aufrufen.Scenario: You have a SAML token and want to call the Graph API

Viele Apps werden mit SAML implementiert.Many apps are implemented with SAML. Die Graph-API verwendet jedoch die OIDC-/OAuth-Protokolle.However, the Graph API uses the OIDC/OAuth protocols. Es ist zwar möglich, aber nicht einfach, einer SAML-App OIDC-/OAuth-Funktionen hinzuzufügen.It's possible, though not trivial, to add OIDC/OAuth functionality to a SAML app. Sobald die OAuth-Funktionalität in einer App verfügbar ist, kann die Graph-API verwendet werden.Once OAuth functionality is available in an app, the Graph API can be used.

Grundsätzlich besteht die Strategie darin, der App den OIDC/OAuth-Stapel hinzuzufügen.The general strategy is to add the OIDC/OAuth stack to your app. Wenn Ihre App beide Standards implementiert, können Sie ein Sitzungscookie verwenden.With your app that implements both standards you can use a session cookie. Sie tauschen also nicht explizit ein Token aus.You aren't exchanging a token explicitly. Sie melden einen Benutzer mit SAML an, wobei ein Sitzungscookie generiert wird.You're logging a user in with SAML, which generates a session cookie. Wenn die Graph-API einen OAuth-Flow aufruft, verwenden Sie dieses Sitzungscookie für die Authentifizierung.When the Graph API invokes an OAuth flow, you use the session cookie to authenticate. Bei dieser Strategie wird vorausgesetzt, dass die Überprüfungen für den bedingten Zugriff bestanden wurden und der Benutzer autorisiert ist.This strategy assumes the Conditional Access checks pass and the user is authorized.

Hinweis

Die empfohlene Bibliothek zum Hinzufügen von OIDC/OAuth-Verhalten ist die Microsoft Authentication Library (MSAL).The recommended library for adding OIDC/OAuth behavior is the Microsoft Authentication Library (MSAL). Weitere Informationen zur MSAL finden Sie unter Übersicht über die Microsoft Authentication Library (MSAL).To learn more about MSAL, see Overview of Microsoft Authentication Library (MSAL). Die Vorgängerbibliothek heißt Active Directory Authentication Library (ADAL). Sie wird jedoch nicht mehr empfohlen, da sie durch die MSAL ersetzt wurde.The previous library was called Active Directory Authentication Library (ADAL), however it is not recommended as MSAL is replacing it.

Nächste SchritteNext steps