Freigeben über


Erstellen eines Identitätsanbieters

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Erstellen Sie ein Identitätsanbieterobjekt, das den im Anforderungstext angegebenen Typ aufweist.

Unter den Von identityProviderBase abgeleiteten Anbietertypen können Sie derzeit eine socialIdentityProvider-Ressource in Microsoft Entra ID erstellen. In Azure AD B2C kann dieser Vorgang derzeit eine socialIdentityProvider-, openIdConnectIdentityProvider- oder appleManagedIdentityProvider-Ressource erstellen.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Globaler Dienst US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) IdentityProvider.ReadWrite.All Nicht verfügbar.
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung IdentityProvider.ReadWrite.All Nicht verfügbar.

Das Geschäfts-, Schul- oder Unikonto muss mindestens der Rolle Administrator für externe IdentitätsanbieterMicrosoft Entra angehören.

HTTP-Anforderung

POST /identity/identityProviders

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung.
Content-Type application/json. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung des socialIdentityProvider-Objekts in Microsoft Entra ID an.

Geben Sie in Azure AD B2C eine JSON-Darstellung von socialIdentityProvider, openIdConnectIdentityProvider oder ein appleManagedIdentityProvider-Objekt an.

Alle in den folgenden Tabellen aufgeführten Eigenschaften sind erforderlich.

socialIdentityProvider-Objekt

Eigenschaft Typ Beschreibung
clientId Zeichenfolge Der Client-Bezeichner für die Anwendung, der beim Registrieren der Anwendung beim Identitätsanbieter erhalten wird.
clientSecret Zeichenfolge Der geheime Clientschlüssel für die Anwendung, der beim Registrieren der Anwendung beim Identitätsanbieter erhalten wird. Dieser verfügt nur über Schreibzugriff. Ein Lesevorgang gibt **** zurück.
displayName Zeichenfolge Der Anzeigename des Identitätsanbieters.
identityProviderType Zeichenfolge Mögliche Werte für ein B2B-Szenario sind: Google, Facebook. Mögliche Werte für ein B2C-Szenario sind: Microsoft, Google, Amazon, LinkedIn, Facebook, GitHub, Twitter, Weibo, QQ, WeChat.

openIdConnectIdentityProvider-Objekt

Eigenschaft Typ Beschreibung
clientId String Die Client-ID für die Anwendung, die bei der Registrierung der Anwendung beim Identitätsanbieter abgerufen wird.
clientSecret String Der geheime Clientschlüssel für die Anwendung, der beim Registrieren der Anwendung beim Identitätsanbieter abgerufen wird. ClientSecret weist eine Abhängigkeit von responseType auf.
  • Wenn responseType ist code, ist ein Geheimnis für den Authentifizierungscodeaustausch erforderlich.
  • Wenn responseType ist, ist id_token das Geheimnis nicht erforderlich, da kein Codeaustausch erfolgt. Die id_token wird direkt von der Autorisierungsantwort zurückgegeben.
displayName Zeichenfolge Der Anzeigename des Identitätsanbieters.
domainHint String Der Domänenhinweis kann verwendet werden, um direkt zur Anmeldeseite des angegebenen Identitätsanbieters zu springen, anstatt dass der Benutzer eine Auswahl in der Liste der verfügbaren Identitätsanbieter trifft.
claimsMapping claimsMapping Nachdem der OIDC-Anbieter ein ID-Token zurück an Microsoft Entra ID gesendet hat, muss Microsoft Entra ID in der Lage sein, die Ansprüche aus dem empfangenen Token den Ansprüchen zuzuordnen, die Microsoft Entra ID erkennt und verwendet. Dieser komplexe Typ erfasst diese Zuordnung.
metadataUrl String Die URL für das Metadatendokument des OpenID Connect-Identitätsanbieters. Jeder OpenID Connect-Identitätsanbieter beschreibt ein Metadatendokument, das die meisten Informationen enthält, die für die Anmeldung erforderlich sind. Dies umfasst Informationen wie die zu verwendenden URLs und den Speicherort der öffentlichen Signaturschlüssel des Diensts. Das OpenID Connect-Metadatendokument befindet sich immer an einem Endpunkt, der auf .well-known/openid-configurationendet. Geben Sie die Metadaten-URL für den OpenID Connect-Identitätsanbieter an, den Sie hinzufügen.
responseMode String Der Antwortmodus definiert die Methode, mit der Daten vom benutzerdefinierten Identitätsanbieter an Azure AD B2C zurückgesendet werden. Mögliche Werte: form_post, query.
responseType String Der Antworttyp beschreibt den Typ der Informationen, die beim ersten Aufruf des authorization_endpoint des benutzerdefinierten Identitätsanbieters zurückgesendet wurden. Mögliche Werte: code , id_token , token.
Bereich String Bereich definiert die Informationen und Berechtigungen, die Sie von Ihrem benutzerdefinierten Identitätsanbieter sammeln möchten.

appleIdentityProvider-Objekt

Eigenschaft Typ Beschreibung
displayName Zeichenfolge Der Anzeigename des Identitätsanbieters.
developerId Zeichenfolge Der Apple-Entwicklerbezeichner.
ServiceID Zeichenfolge Der Apple-Dienstbezeichner.
keyId Zeichenfolge Der Apple-Schlüsselbezeichner.
certificateData Zeichenfolge Die Zertifikatsdaten, die eine lange Textfolge aus dem Zertifikat sind, können NULL sein.

Antwort

Bei erfolgreicher Ausführung gibt die Methode einen 201 Created Antwortcode und eine JSON-Darstellung eines socialIdentityProvider-Objekts im Antworttext für einen Microsoft Entra Mandanten zurück.

Für einen Azure AD B2C-Mandanten gibt diese Methode einen 201 Created Antwortcode und eine JSON-Darstellung eines socialIdentityProvider-, openIdConnectIdentityProvider- oder appleManagedIdentityProvider-Objekts im Antworttext zurück.

Wenn die Methode nicht erfolgreich ist, wird ein 4xx-Fehler mit bestimmten Details zurückgegeben.

Beispiele

Beispiel 1: Erstellen eines bestimmten Identitätsanbieters für soziale Netzwerke (Microsoft Entra ID und Azure AD B2C)

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/identity/identityProviders
Content-type: application/json

{
  "@odata.type": "microsoft.graph.socialIdentityProvider",
  "displayName": "Login with Amazon",
  "identityProviderType": "Amazon",
  "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
  "clientSecret": "000000000000"
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.type": "microsoft.graph.socialIdentityProvider",
    "id": "Amazon-OAUTH",
    "displayName": "Login with Amazon",
    "identityProviderType": "Amazon",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "000000000000"
}

Beispiel 2: Erstellen eines bestimmten OpenID Connect-Identitätsanbieters (nur für Azure AD B2C)

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/identity/identityProviders
Content-type: application/json

{
  "@odata.type": "microsoft.graph.openIdConnectIdentityProvider",
    "displayName": "Login with the Contoso identity provider",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "12345",
    "claimsMapping": {
        "userId": "myUserId",
        "givenName": "myGivenName",
        "surname": "mySurname",
        "email": "myEmail",
        "displayName": "myDisplayName"
    },
    "domainHint": "mycustomoidc",
    "metadataUrl": "https://mycustomoidc.com/.well-known/openid-configuration",
    "responseMode": "form_post",
    "responseType": "code",
    "scope": "openid"
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.type": "microsoft.graph.openIdConnectIdentityProvider",
  "id": "OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a",
  "displayName": "Login with the Contoso identity provider",
  "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
  "clientSecret": "12345",
  "claimsMapping": {
      "userId": "myUserId",
      "givenName": "myGivenName",
      "surname": "mySurname",
      "email": "myEmail",
      "displayName": "myDisplayName"
  },
  "domainHint": "mycustomoidc",
  "metadataUrl": "https://mycustomoidc.com/.well-known/openid-configuration",
  "responseMode": "form_post",
  "responseType": "code",
  "scope": "openid"
}

Beispiel 3: Ruft den Apple-Identitätsanbieter ab (nur für Azure AD B2C)

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/identity/identityProviders
Content-type: application/json

{
  "@odata.type": "microsoft.graph.appleManagedIdentityProvider",
  "displayName": "Sign in with Apple",
  "developerId": "UBF8T346G9",
  "serviceId": "com.microsoft.rts.b2c.test.client",
  "keyId": "99P6D879C4",
  "certificateData": "******"
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.type": "microsoft.graph.appleManagedIdentityProvider",
  "id": "Apple-Managed-OIDC",
  "displayName": "Sign in with Apple",
  "developerId": "UBF8T346G9",
  "serviceId": "com.microsoft.rts.b2c.test.client",
  "keyId": "99P6D879C4",
  "certificateData": "******"
}