Microsoft Identity Platform-Tokenaustauschszenarien mit SAML und OIDC/OAuth
SAML und OpenID Connect (OIDC)/OAuth sind beliebte Protokolle für die Implementierung von einmaligem Anmelden (Single Sign-On, SSO). Einige Apps implementieren möglicherweise nur SAML, während andere möglicherweise nur OIDC/OAuth implementieren. Beide Protokolle verwenden Token, um Geheimnisse zu übermitteln. Weitere Informationen zu SAML finden Sie unter SAML-Protokoll für einmaliges Anmelden. Weitere Informationen zu OIDC/OAuth finden Sie unter OAuth 2.0- und OpenID Connect-Protokolle auf der Microsoft Identity Platform.
In diesem Artikel wird ein gängiges Szenario beschrieben, in dem SAML in eine App implementiert, aber die Graph-API aufgerufen wird, die OIDC/OAuth verwendet. Für Personen, die in einem solchen Szenario arbeiten, wird ein grundlegender Leitfaden bereitgestellt.
Szenario: Sie verfügen über ein SAML-Token und möchten die Graph-API aufrufen.
Viele Apps werden mit SAML implementiert. Die Graph-API verwendet jedoch die OIDC-/OAuth-Protokolle. Es ist zwar möglich, aber nicht einfach, einer SAML-App OIDC-/OAuth-Funktionen hinzuzufügen. Sobald die OAuth-Funktionalität in einer App verfügbar ist, kann die Graph-API verwendet werden.
Grundsätzlich besteht die Strategie darin, der App den OIDC/OAuth-Stapel hinzuzufügen. Wenn Ihre App beide Standards implementiert, können Sie ein Sitzungscookie verwenden. Sie tauschen also nicht explizit ein Token aus. Sie melden einen Benutzer mit SAML an, wobei ein Sitzungscookie generiert wird. Wenn die Graph-API einen OAuth-Flow aufruft, verwenden Sie dieses Sitzungscookie für die Authentifizierung. Bei dieser Strategie wird vorausgesetzt, dass die Überprüfungen für den bedingten Zugriff bestanden wurden und der Benutzer autorisiert ist.
Hinweis
Die empfohlene Bibliothek zum Hinzufügen von OIDC/OAuth-Verhalten zu Ihren Anwendungen ist die Microsoft-Authentifizierungsbibliothek (Microsoft Authentication Library, MSAL).