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é.
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.
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.
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.
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"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new IdentityProvider
{
OdataType = "microsoft.graph.identityProvider",
Name = "Login with Amazon",
Type = "Amazon",
ClientId = "56433757-cadd-4135-8431-2c9e3fd68ae8",
ClientSecret = "000000000000",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityProviders.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewIdentityProvider()
name := "Login with Amazon"
requestBody.SetName(&name)
type := "Amazon"
requestBody.SetType(&type)
clientId := "56433757-cadd-4135-8431-2c9e3fd68ae8"
requestBody.SetClientId(&clientId)
clientSecret := "000000000000"
requestBody.SetClientSecret(&clientSecret)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
identityProviders, err := graphClient.IdentityProviders().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
IdentityProvider identityProvider = new IdentityProvider();
identityProvider.setOdataType("microsoft.graph.identityProvider");
identityProvider.setName("Login with Amazon");
identityProvider.setType("Amazon");
identityProvider.setClientId("56433757-cadd-4135-8431-2c9e3fd68ae8");
identityProvider.setClientSecret("000000000000");
IdentityProvider result = graphClient.identityProviders().post(identityProvider);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\IdentityProvider;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new IdentityProvider();
$requestBody->setOdataType('microsoft.graph.identityProvider');
$requestBody->setName('Login with Amazon');
$requestBody->setType('Amazon');
$requestBody->setClientId('56433757-cadd-4135-8431-2c9e3fd68ae8');
$requestBody->setClientSecret('000000000000');
$result = $graphServiceClient->identityProviders()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.identity_provider import IdentityProvider
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = IdentityProvider(
odata_type = "microsoft.graph.identityProvider",
name = "Login with Amazon",
type = "Amazon",
client_id = "56433757-cadd-4135-8431-2c9e3fd68ae8",
client_secret = "000000000000",
)
result = await graph_client.identity_providers.post(request_body)
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new OpenIdConnectProvider
{
OdataType = "microsoft.graph.openIdConnectProvider",
Name = "Login with the Contoso identity provider",
Type = "OpenIDConnect",
ClientId = "56433757-cadd-4135-8431-2c9e3fd68ae8",
ClientSecret = "12345",
ClaimsMapping = new ClaimsMapping
{
UserId = "myUserId",
GivenName = "myGivenName",
Surname = "mySurname",
Email = "myEmail",
DisplayName = "myDisplayName",
},
DomainHint = "mycustomoidc",
MetadataUrl = "https://mycustomoidc.com/.well-known/openid-configuration",
ResponseMode = OpenIdConnectResponseMode.Form_post,
ResponseType = OpenIdConnectResponseTypes.Code,
Scope = "openid",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityProviders.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
OpenIdConnectProvider identityProvider = new OpenIdConnectProvider();
identityProvider.setOdataType("microsoft.graph.openIdConnectProvider");
identityProvider.setName("Login with the Contoso identity provider");
identityProvider.setType("OpenIDConnect");
identityProvider.setClientId("56433757-cadd-4135-8431-2c9e3fd68ae8");
identityProvider.setClientSecret("12345");
ClaimsMapping claimsMapping = new ClaimsMapping();
claimsMapping.setUserId("myUserId");
claimsMapping.setGivenName("myGivenName");
claimsMapping.setSurname("mySurname");
claimsMapping.setEmail("myEmail");
claimsMapping.setDisplayName("myDisplayName");
identityProvider.setClaimsMapping(claimsMapping);
identityProvider.setDomainHint("mycustomoidc");
identityProvider.setMetadataUrl("https://mycustomoidc.com/.well-known/openid-configuration");
identityProvider.setResponseMode(OpenIdConnectResponseMode.Form_post);
identityProvider.setResponseType(EnumSet.of(OpenIdConnectResponseTypes.Code));
identityProvider.setScope("openid");
IdentityProvider result = graphClient.identityProviders().post(identityProvider);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\OpenIdConnectProvider;
use Microsoft\Graph\Beta\Generated\Models\ClaimsMapping;
use Microsoft\Graph\Beta\Generated\Models\OpenIdConnectResponseMode;
use Microsoft\Graph\Beta\Generated\Models\OpenIdConnectResponseTypes;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new OpenIdConnectProvider();
$requestBody->setOdataType('microsoft.graph.openIdConnectProvider');
$requestBody->setName('Login with the Contoso identity provider');
$requestBody->setType('OpenIDConnect');
$requestBody->setClientId('56433757-cadd-4135-8431-2c9e3fd68ae8');
$requestBody->setClientSecret('12345');
$claimsMapping = new ClaimsMapping();
$claimsMapping->setUserId('myUserId');
$claimsMapping->setGivenName('myGivenName');
$claimsMapping->setSurname('mySurname');
$claimsMapping->setEmail('myEmail');
$claimsMapping->setDisplayName('myDisplayName');
$requestBody->setClaimsMapping($claimsMapping);
$requestBody->setDomainHint('mycustomoidc');
$requestBody->setMetadataUrl('https://mycustomoidc.com/.well-known/openid-configuration');
$requestBody->setResponseMode(new OpenIdConnectResponseMode('form_post'));
$requestBody->setResponseType(new OpenIdConnectResponseTypes('code'));
$requestBody->setScope('openid');
$result = $graphServiceClient->identityProviders()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.open_id_connect_provider import OpenIdConnectProvider
from msgraph_beta.generated.models.claims_mapping import ClaimsMapping
from msgraph_beta.generated.models.open_id_connect_response_mode import OpenIdConnectResponseMode
from msgraph_beta.generated.models.open_id_connect_response_types import OpenIdConnectResponseTypes
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = OpenIdConnectProvider(
odata_type = "microsoft.graph.openIdConnectProvider",
name = "Login with the Contoso identity provider",
type = "OpenIDConnect",
client_id = "56433757-cadd-4135-8431-2c9e3fd68ae8",
client_secret = "12345",
claims_mapping = ClaimsMapping(
user_id = "myUserId",
given_name = "myGivenName",
surname = "mySurname",
email = "myEmail",
display_name = "myDisplayName",
),
domain_hint = "mycustomoidc",
metadata_url = "https://mycustomoidc.com/.well-known/openid-configuration",
response_mode = OpenIdConnectResponseMode.Form_post,
response_type = OpenIdConnectResponseTypes.Code,
scope = "openid",
)
result = await graph_client.identity_providers.post(request_body)