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 kann dieser Vorgang in Microsoft Entra eine socialIdentityProvider-, appleManagedIdentityProvider-Ressource (nur externer Mandant) oder eine oidcIdentityProvider-Ressource (nur externer Mandant) erstellen.

In Azure AD B2C kann dieser Vorgang eine socialIdentityProvider-, appleManagedIdentityProvider-, builtinIdentityProvider- oder openIdConnectIdentityProvider-Ressource erstellen.

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

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. 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.

Wichtig

In delegierten Szenarien mit Geschäfts-, Schul- oder Unikonten muss dem angemeldeten Benutzer eine unterstützte Microsoft Entra Rolle oder eine benutzerdefinierte Rolle mit einer unterstützten Rollenberechtigung zugewiesen werden. Der Externe Identitätsanbieteradministrator ist die Rolle mit den geringsten Berechtigungen, die für diesen Vorgang unterstützt wird.

HTTP-Anforderung

POST /identity/identityProviders

Anforderungsheader

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

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung von socialIdentityProvider, oidcIdentityProvider oder einem appleManagedIdentityProvider-Objekt in Microsoft Entra External 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
displayName Zeichenfolge Der Anzeigename des Identitätsanbieters.
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.
identityProviderType Zeichenfolge Mögliche Werte für externe Mandanten und Mitarbeitermandanten: Facebook, Google.
Mögliche Werte für Azure AD B2C-Mandanten: Microsoft, Google, , AmazonLinkedIn, FacebookGitHub, Twitter, Weibo, QQ, , . WeChat

appleManagedIdentityProvider-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.

openIdConnectIdentityProvider-Objekt

Eigenschaft Typ Beschreibung
displayName Zeichenfolge Der Anzeigename des Identitätsanbieters.
clientId Zeichenfolge Der Client-Bezeichner für die Anwendung, der beim Registrieren der Anwendung beim Identitätsanbieter erhalten 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 es keinen Codeaustausch in der Authentifizierungspipeline gibt. In diesem Modus wird die id_token direkt von der Autorisierungsantwort zurückgegeben.
domainHint Zeichenfolge 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 Zeichenfolge 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 Zeichenfolge 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 Zeichenfolge 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 Zeichenfolge Bereich definiert die Informationen und Berechtigungen, die Sie von Ihrem benutzerdefinierten Identitätsanbieter sammeln möchten.

oidcIdentityProvider-Objekt

Eigenschaft Typ Beschreibung
clientAuthentication oidcClientAuthentication Die Einstellungen für die Clientauthentifizierung.
  • Verwenden Sie den abgeleiteten komplexen Typ oidcClientSecretAuthentication , um Ihren Identitätsanbieter mit client_secret_post - oder client_secret_jwt authentication -Methoden einzurichten.
  • Verwenden Sie den oidcPrivateJwtKeyClientAuthentication-Typ , um Ihren Identitätsanbieter mit private_key_jwt Authentifizierungsmethode einzurichten.

    Aus Sicherheitsgründen wird die client_secret_basic Authentifizierungsmethode nicht unterstützt.
  • clientId String Die Client-ID für die Anwendung, die bei der Registrierung der Anwendung beim Identitätsanbieter abgerufen wird.
    displayName Zeichenfolge Der Anzeigename des Identitätsanbieters. Geerbt von identityProviderBase.
    id Zeichenfolge Der Bezeichner des Identitätsanbieters. Erforderlich. Geerbt von identityProviderBase. Erbt von der Entität
    inboundClaimMapping oidcInboundClaimMappingOverride Nachdem der OIDC-Anbieter ein ID-Token zurück an Microsoft Entra External ID gesendet hat, muss Microsoft Entra External 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.
    Emittent Zeichenfolge Der Aussteller-URI. Der Aussteller-URI ist eine URL, bei der die Groß-/Kleinschreibung beachtet wird, bei der das HTTPS-Schema verwendet wird, das Schema, den Host und optional die Komponenten der Portnummer und des Pfads enthält und keine Abfrage- oder Fragmentkomponenten enthält.
    Anmerkung: Das Konfigurieren anderer Microsoft Entra Mandanten als externer Identitätsanbieter wird derzeit nicht unterstützt. Daher wird die microsoftonline.com Domäne im Aussteller-URI nicht akzeptiert.
    responseType oidcResponseType 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: Gemäß dem Autorisierungscodeflow wird ein Code an Entra External ID zurückgegeben. Entra External ID fährt mit dem Aufruf des token_endpoint fort, um den Code gegen das Token auszutauschen.
  • id_token: Ein ID-Token wird vom benutzerdefinierten Identitätsanbieter zurück an Entra External ID zurückgegeben. (Dieser Wert wird derzeit nicht unterstützt.)
  • token: Ein Zugriffstoken wird vom benutzerdefinierten Identitätsanbieter zurück an Entra External ID zurückgegeben. Dieser Wert wird derzeit nicht unterstützt.
  • Bereich Zeichenfolge Bereich definiert die Informationen und Berechtigungen, die Sie von Ihrem benutzerdefinierten Identitätsanbieter sammeln möchten.
    wellKnownEndpoint Zeichenfolge 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.
    Anmerkung: Das Metadatendokument sollte mindestens die folgenden Eigenschaften enthalten: issuer, authorization_endpoint, , token_endpointtoken_endpoint_auth_methods_supported, response_types_supportedsubject_types_supported und jwks_uri. Weitere Informationen finden Sie unter OpenID Connect Discovery-Spezifikationen .

    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 Identitätsanbieters für soziale Netzwerke

    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": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "clientSecret": "42*****96"
    }
    

    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": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "clientSecret": "42*****96"
    }
    

    Beispiel 2: Erstellen eines Apple-Identitätsanbieters

    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": "Apple",
      "developerId": "qazx.1234",
      "serviceId": "com.contoso.app",
      "keyId": "4294967296",
      "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": "Apple",
      "developerId": "qazx.1234",
      "serviceId": "com.contoso.app",
      "keyId": "4294967296",
      "certificateData": "******"
    }
    

    Beispiel 3: Erstellen eines OpenID Connect-Identitätsanbieters (B2C-Mandant)

    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": "Contoso",
        "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "clientSecret": "4294967296",
        "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": "Contoso-OIDC-00001111-aaaa-2222-bbbb-3333cccc4444",
      "displayName": "Contoso",
      "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "clientSecret": "4294967296",
      "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 4: Erstellen eines OpenID Connect-Identitätsanbieters (externer Mandant)

    Anforderung

    Das folgende Beispiel zeigt eine Anfrage.

    POST https://graph.microsoft.com/beta/identity/identityProviders
    Content-type: application/json
    
    {
      "@odata.type": "#microsoft.graph.OidcIdentityProvider",
      "displayName": "Contoso AAD B2C",
      "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "issuer": "https://contoso.b2clogin.com/00001111-aaaa-2222-bbbb-3333cccc4444/v2.0/",
      "wellKnownEndpoint": "https://contoso.b2clogin.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_SIGNINEMAIL",
      "responseType": "code",
      "scope": "openid profile email offline_access",
      "clientAuthentication": {
        "@odata.type": "#microsoft.graph.oidcClientSecretAuthentication",
        "clientSecret": "4294967296"
      },
      "inboundClaimMapping": {
        "sub": "sub",
        "name": "name",
        "given_name": "given_name",
        "family_name": "family_name",
        "email": "email",
        "email_verified": "email_verified",
        "phone_number": "phone_number",
        "phone_number_verified": "phone_number_verified",
        "address": {
          "street_address": "street_address",
          "locality": "locality",
          "region": "region",
          "postal_code": "postal_code",
          "country": "country"
        }
      }
    }
    

    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.OidcIdentityProvider",
      "id": "12345678-abcd-1234-cdef-aaaaaaaaaaaa",
      "displayName": "Contoso AAD B2C",
      "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "issuer": "https://contoso.b2clogin.com/00001111-aaaa-2222-bbbb-3333cccc4444/v2.0/",
      "wellKnownEndpoint": "https://contoso.b2clogin.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_SIGNINEMAIL",
      "responseType": "code",
      "scope": "openid profile email offline_access",
      "clientAuthentication": {
        "@odata.type": "#microsoft.graph.oidcClientSecretAuthentication",
        "clientSecret": "*****"
      },
      "inboundClaimMapping": {
        "sub": "sub",
        "name": "name",
        "given_name": "given_name",
        "family_name": "family_name",
        "email": "email",
        "email_verified": "email_verified",
        "phone_number": "phone_number",
        "phone_number_verified": "phone_number_verified",
        "address": {
          "street_address": "street_address",
          "locality": "locality",
          "region": "region",
          "postal_code": "postal_code",
          "country": "country"
        }
      }
    }