Erstellen eines Identitätsanbieters (veraltet)

Namespace: microsoft.graph

Wichtig

APIs unter der /beta Version in Microsoft Graph können geändert werden. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in Version 1.0 verfügbar ist, verwenden Sie die Versionsauswahl .

Achtung

Diese Identitätsanbieter-API ist veraltet und wird nach März 2023 keine Daten mehr zurückgeben. Bitte verwenden Sie die neue Identitätsanbieter-API.

Erstellen sie ein neues IdentityProvider-Objekt.

Berechtigungen

Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie im Artikel zum Thema Berechtigungen.

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) IdentityProvider.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt
Anwendung IdentityProvider.ReadWrite.All

Das Geschäfts-, Schul- oder Unikonto muss zu einer der folgenden Rollen gehören:

  • Globaler Administrator
  • Administrator für externe Identitätsanbieter

HTTP-Anforderung

POST /identityProviders

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich.
Content-Type application/json. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung des IdentityProvider- oder openIdConnectProvider-Objekts an (nur für Azure AD B2C-Objekt). Alle in der folgenden Tabelle aufgeführten Eigenschaften sind erforderlich.

IdentityProvider-Objekt

Eigenschaft Typ Beschreibung
clientId Zeichenfolge Die Client-ID für die Anwendung. Dies ist die Client-ID, die beim Registrieren der Anwendung beim Identitätsanbieter abgerufen wird.
clientSecret Zeichenfolge Der geheime Clientschlüssel für die Anwendung. Dies ist der geheime Clientschlüssel, der beim Registrieren der Anwendung beim Identitätsanbieter abgerufen wird.
name Zeichenfolge Der Anzeigename des Identitätsanbieters.
type Zeichenfolge Der Typ des Identitätsanbieters.
    Für ein B2B Szenario:
  • Google
  • Facebook
    Für ein B2C-Szenario:
  • Microsoft
  • Google
  • Amazon
  • LinkedIn
  • Facebook
  • GitHub
  • Twitter
  • Weibo
  • QQ
  • WeChat
  • OpenIDConnect

openIdConnectProvider-Objekt

Eigenschaft Typ Beschreibung
clientId Zeichenfolge Die Client-ID für die Anwendung. Dies ist die Client-ID, die beim Registrieren der Anwendung beim Identitätsanbieter abgerufen wird.
clientSecret Zeichenfolge Der geheime Clientschlüssel für die Anwendung. Dies ist der geheime Clientschlüssel, der beim Registrieren der Anwendung beim Identitätsanbieter abgerufen wird.
name Zeichenfolge Der Anzeigename des Identitätsanbieters.
type Zeichenfolge Der Typ des Identitätsanbieters. Der Wert muss OpenIdConnect .
claimsMapping claimsMapping Die userId eigenschaften sind im displayname claimsMapping-Objekt erforderlich.
metadataUrl Zeichenfolge Die URL für das Metadatendokument des Open Id Verbinden Identitätsanbieters.
responseMode Zeichenfolge Definiert die Methode, die verwendet werden soll, um die Daten vom benutzerdefinierten Identitätsanbieter zurück an Azure AD B2C zu senden. Die folgenden Antwortmodi können verwendet werden:
  • form_post : Dieser Antwortmodus wird für optimale Sicherheit empfohlen. Die Antwort wird über die HTTP POST-Methode übertragen, wobei der Code oder token im Textkörper mithilfe des anwendungs-/x-www-form-url-codierten Formats codiert wird.
  • query : Der Code oder token wird als Abfrageparameter zurückgegeben.
responseType Zeichenfolge Beschreibt, welche Art von Informationen im ersten Aufruf an die authorization_endpoint des benutzerdefinierten Identitätsanbieters zurückgesendet wird. Die folgenden Antworttypen können verwendet werden:
  • code: Gemäß dem Autorisierungscodefluss wird ein Code an Azure AD B2C zurückgegeben. Azure AD B2C ruft die token_endpoint auf, um den Code gegen das Token auszutauschen.
  • id_token: Ein ID-Token wird vom benutzerdefinierten Identitätsanbieter an Azure AD B2C zurückgegeben.
  • token: Ein Zugriffstoken wird vom benutzerdefinierten Identitätsanbieter an Azure AD B2C zurückgegeben. (Dieser Wert wird derzeit nicht von Azure AD B2C unterstützt.)
scope String Der Bereich definiert die Informationen und Berechtigungen, die Sie von Ihrem benutzerdefinierten Identitätsanbieter erfassen möchten.

Antwort

Wenn die Methode erfolgreich ist, werden der Antwortcode und das 201 Created IdentityProvider- oder openIdConnectProvider-Objekt (nur für Azure AD B2C)-Objekt im Antworttext zurückgegeben. Wenn die Methode nicht erfolgreich ist, wird ein 4xx-Fehler mit bestimmten Details zurückgegeben.

Beispiele

Beispiel 1: Erstellen eines bestimmten Identitätsanbieters

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung.

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

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

GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();

IdentityProvider identityProvider = new IdentityProvider();
identityProvider.name = "Login with Amazon";
identityProvider.type = "Amazon";
identityProvider.clientId = "56433757-cadd-4135-8431-2c9e3fd68ae8";
identityProvider.clientSecret = "000000000000";

graphClient.identityProviders()
    .buildRequest()
    .post(identityProvider);

Wichtig

Microsoft Graph SDKs verwenden standardmäßig die Version 1.0 der API und unterstützen nicht alle Typen, Eigenschaften und APIs, die in der Betaversion verfügbar sind. Ausführliche Informationen zum Zugreifen auf die Beta-API mit dem SDK finden Sie unter Verwenden der Microsoft Graph-SDKs mit der Beta-API.

Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation.

Antwort

Nachfolgend sehen Sie ein Beispiel der 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.identityProvider",
    "id": "Amazon-OAUTH",
    "name": "Login with Amazon",
    "type": "Amazon",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "*****"
}

Beispiel 2: Erstellen eines bestimmten openIDConnectProvider (nur für Azure AD B2C)

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung.

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

{
  "@odata.type": "microsoft.graph.openIdConnectProvider",
    "name": "Login with the Contoso identity provider",
    "type": "OpenIDConnect",
    "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"
}


GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();

OpenIdConnectProvider identityProvider = new OpenIdConnectProvider();
identityProvider.name = "Login with the Contoso identity provider";
identityProvider.type = "OpenIDConnect";
identityProvider.clientId = "56433757-cadd-4135-8431-2c9e3fd68ae8";
identityProvider.clientSecret = "12345";
ClaimsMapping claimsMapping = new ClaimsMapping();
claimsMapping.userId = "myUserId";
claimsMapping.givenName = "myGivenName";
claimsMapping.surname = "mySurname";
claimsMapping.email = "myEmail";
claimsMapping.displayName = "myDisplayName";
identityProvider.claimsMapping = claimsMapping;
identityProvider.domainHint = "mycustomoidc";
identityProvider.metadataUrl = "https://mycustomoidc.com/.well-known/openid-configuration";
identityProvider.responseMode = OpenIdConnectResponseMode.FORM_POST;
identityProvider.responseType = EnumSet.of(OpenIdConnectResponseTypes.CODE);
identityProvider.scope = "openid";

graphClient.identityProviders()
    .buildRequest()
    .post(identityProvider);

Wichtig

Microsoft Graph SDKs verwenden standardmäßig die Version 1.0 der API und unterstützen nicht alle Typen, Eigenschaften und APIs, die in der Betaversion verfügbar sind. Ausführliche Informationen zum Zugreifen auf die Beta-API mit dem SDK finden Sie unter Verwenden der Microsoft Graph-SDKs mit der Beta-API.

Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation.

Antwort

Nachfolgend sehen Sie ein Beispiel der 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.openIdConnectProvider",
  "id": "OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a",
  "name": "Login with the Contoso identity provider",
  "type": "OpenIDConnect",
  "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"
}