Partager via


Créer identityProvider (déconseillé)

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 .

Attention

Cette API de fournisseur d’identité est déconseillée et cessera de renvoyer des données après mars 2023. Veuillez utiliser la nouvelle API de fournisseur d’identité.

Créez un objet identityProvider .

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.

Importante

Dans les scénarios délégués avec des comptes professionnels ou scolaires, l’utilisateur connecté doit se voir attribuer un rôle Microsoft Entra pris en charge ou un rôle personnalisé avec une autorisation de rôle prise en charge. L’administrateur du fournisseur d’identité externe est le rôle le moins privilégié pris en charge pour cette opération.

Requête HTTP

POST /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 identityProvider ou openIdConnectProvider (uniquement pour Azure AD B2C). Toutes les propriétés répertoriées dans le tableau suivant sont requises.

objet identityProvider

Propriété Type Description
clientId Chaîne ID client pour l’application. Il s’agit de l’ID client obtenu lors de l’inscription de l’application avec le fournisseur d’identité.
clientSecret Chaîne Clé secrète client pour l’application. Il s’agit de la clé secrète client obtenue lors de l’inscription de l’application avec le fournisseur d’identité.
name Chaîne Nom d’affichage du fournisseur d’identité.
type Chaîne Type de fournisseur d’identité.
    Pour le scénario B2B :
  • Google
  • Facebook
    Pour le scénario B2C :Microsoft Google Amazon LinkedIn
  • Facebook
  • GitHub
  • Twitter
  • Weibo
  • QQ
  • WeChat
  • OpenIDConnect

objet openIdConnectProvider

Propriété Type Description
clientId Chaîne ID client pour l’application. Il s’agit de l’ID client obtenu lors de l’inscription de l’application avec le fournisseur d’identité.
clientSecret Chaîne Clé secrète client pour l’application. Il s’agit de la clé secrète client obtenue lors de l’inscription de l’application avec le fournisseur d’identité.
name Chaîne Nom d’affichage du fournisseur d’identité.
type Chaîne Type de fournisseur d’identité. La valeur doit être OpenIdConnect.
claimsMapping claimsMapping Les userId propriétés et displayname sont requises dans l’objet claimsMapping.
metadataUrl String URL du document de métadonnées du fournisseur d’identité OpenID Connect.
responseMode String Définit la méthode qui doit être utilisée pour renvoyer les données du fournisseur d’identité personnalisé vers Azure AD B2C. Les modes de réponse suivants peuvent être utilisés :
  • form_post : ce mode de réponse est recommandé pour une sécurité optimale. La réponse est transmise via la méthode HTTP POST, le code ou le jeton étant encodé dans le corps à l’aide du format application/x-www-form-urlencoded.
  • query : le code ou le jeton est retourné en tant que paramètre de requête.
responseType String Décrit le type d’informations qui sont renvoyées dans l’appel initial au authorization_endpoint du fournisseur d’identité personnalisé. Les types de réponse suivants peuvent être utilisés :
  • code : conformément au flux de code d’autorisation, un code est retourné à Azure AD B2C. Azure AD B2C continue d’appeler le token_endpoint pour échanger le code contre le jeton.
  • id_token : un jeton d’ID est retourné à Azure AD B2C à partir du fournisseur d’identité personnalisé.
  • token : un jeton d’accès est renvoyé à Azure AD B2C à partir du fournisseur d’identité personnalisé. (Cette valeur n’est pas prise en charge par Azure AD B2C pour le moment)
étendue String L’étendue définit les informations et les autorisations que vous souhaitez collecter à partir de votre fournisseur d’identité personnalisé.

Réponse

Si elle réussit, cette méthode renvoie un code de réponse et un 201 Created objet identityProvider ou openIdConnectProvider (uniquement pour Azure AD B2C) 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 identityProvider spécifique

Demande

L’exemple suivant illustre une demande.

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

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

Exemple 2 : Créer un openIDConnectProvider spécifique (uniquement pour Azure AD B2C)

Demande

L’exemple suivant illustre une demande.

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

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