Share via


Créer un fournisseur d’identité

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Créez un objet fournisseur d’identité du type spécifié dans le corps de la demande.

Parmi les types de fournisseurs dérivés d’identityProviderBase, vous pouvez actuellement créer une ressource socialIdentityProvider dans Microsoft Entra ID. Dans Azure AD B2C, cette opération peut actuellement créer une ressource socialIdentityProvider, openIdConnectIdentityProvider ou appleManagedIdentityProvider .

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) IdentityProvider.ReadWrite.All Non disponible.
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application IdentityProvider.ReadWrite.All Non disponible.

Le compte professionnel ou scolaire doit appartenir au moins au rôle Administrateur Microsoft Entra fournisseur d’identité externe.

Requête HTTP

POST /identity/identityProviders

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.
Content-Type application/json. Obligatoire.

Corps de la demande

Dans le corps de la demande, fournissez une représentation JSON de l’objet socialIdentityProvider dans Microsoft Entra ID.

Dans Azure AD B2C, fournissez une représentation JSON de socialIdentityProvider, openIdConnectIdentityProvider ou un objet appleManagedIdentityProvider .

Toutes les propriétés répertoriées dans les tableaux suivants sont requises.

objet socialIdentityProvider

Propriété Type Description
clientId String Identificateur de client pour l’application obtenue lors de l’inscription de l’application auprès du fournisseur d’identité.
clientSecret String Clé secrète client pour l’application obtenue lorsque l’application est inscrite auprès du fournisseur d’identité. En écriture seule. Une opération de lecture retourne ****.
displayName Chaîne Nom d’affichage du fournisseur d’identité.
identityProviderType Chaîne Dans le cas d’un scénario B2B, les valeurs possibles sont ; Google et Facebook. Dans le cas d’un scénario B2C, les valeurs possibles sont : Microsoft, Google, Amazon, LinkedIn, Facebook, GitHub, Twitter, Weibo, QQet WeChat.

objet openIdConnectIdentityProvider

Propriété Type Description
clientId String Il s’agit de l’ID client de l’application obtenue lors de l’enregistrement de l’application auprès du fournisseur d’identité.
clientSecret String Il s’agit d’une clé secrète client pour l’application obtenue lors de l’inscription de l’application auprès du fournisseur d’identité. ClientSecret a une dépendance sur responseType.
  • Lorsque responseType a la valeur code, un secret est requis pour l’échange de code d’authentification.
  • Lorsque responseType est id_token le secret n’est pas obligatoire, car il n’y a pas d’échange de code, le id_token est retourné directement à partir de la réponse d’autorisation.
displayName Chaîne Nom d’affichage du fournisseur d’identité.
domainHint Chaîne L’indicateur de domaine peut être utilisé pour passer directement à la page de connexion du fournisseur d’identité spécifié, au lieu de faire une sélection par l’utilisateur dans la liste des fournisseurs d’identité disponibles.
claimsMapping claimsMapping Une fois que le fournisseur OIDC a renvoyé un jeton d’ID à Microsoft Entra ID, Microsoft Entra ID doit être en mesure de mapper les revendications du jeton reçu aux revendications que Microsoft Entra ID reconnaît et utilise. Ce type complexe capture ce mappage.
metadataUrl Chaîne URL du document de métadonnées du fournisseur d’identité OpenID Connect. Chaque fournisseur d’identité OpenID Connect décrit un document de métadonnées qui contient la plupart des informations requises pour effectuer la connexion. Cela inclut des informations telles que les URL à utiliser et l’emplacement des clés de signature publiques du service. Le document de métadonnées OpenID Connect se trouve toujours sur un point de terminaison qui se termine par .well-known/openid-configuration. Fournissez l’URL des métadonnées pour le fournisseur d’identité OpenID Connect que vous ajoutez.
responseMode Chaîne Le mode de réponse définit la méthode utilisée pour renvoyer des données du fournisseur d’identité personnalisé vers Azure AD B2C. Valeurs possibles : form_post, query.
responseType Chaîne Le type de réponse décrit le type d’informations renvoyées dans l’appel initial à l’authorization_endpoint du fournisseur d’identité personnalisé. Valeurs possibles : code , id_token , token.
étendue Chaîne L’étendue définit les informations et les autorisations que vous souhaitez collecter à partir de votre fournisseur d’identité personnalisé.

objet appleIdentityProvider

Propriété Type Description
displayName Chaîne Nom d’affichage du fournisseur d’identité.
developerId Chaîne Identificateur de développeur Apple.
serviceId Chaîne L’identificateur de service Apple.
keyId Chaîne L’identificateur de la clé Apple.
certificateData Chaîne Les données de certificat, qui sont une longue chaîne de texte du certificat, peuvent être null.

Réponse

Si elle réussit, cette méthode renvoie un 201 Created code de réponse et une représentation JSON d’un objet socialIdentityProvider dans le corps de la réponse pour un locataire Microsoft Entra.

Pour un locataire Azure AD B2C, cette méthode renvoie un 201 Created code de réponse et une représentation JSON d’un objet socialIdentityProvider, openIdConnectIdentityProvider ou appleManagedIdentityProvider dans le corps de la réponse.

Si elle échoue, une erreur 4xx est renvoyée avec des détails spécifiques.

Exemples

Exemple 1 : Créer un fournisseur d’identité sociale spécifique (Microsoft Entra ID et Azure AD B2C)

Demande

L’exemple suivant illustre une demande.

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"
}

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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"
}

Exemple 2 : Créer un fournisseur d’identité OpenID Connect spécifique (uniquement pour Azure AD B2C)

Demande

L’exemple suivant illustre une demande.

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"
}

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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"
}

Exemple 3 : Récupère le fournisseur d’identité Apple (uniquement pour Azure AD B2C)

Demande

L’exemple suivant illustre une demande.

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": "******"
}

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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": "******"
}