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 b2cIdentityUserFlow .
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) |
IdentityUserFlow.ReadWrite.All |
Non disponible. |
| Déléguée (compte Microsoft personnel) |
Non prise en charge. |
Non prise en charge. |
| Application |
IdentityUserFlow.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.
ID externe’administrateur de flux utilisateur est le rôle le moins privilégié pris en charge pour cette opération.
Requête HTTP
POST /identity/b2cUserFlows
Corps de la demande
Dans le corps de la demande, fournissez une représentation JSON d’un b2cIdentityUserFlow.
| Propriété |
Type |
Description |
| id |
String |
Obligatoire. Le nom du flux d’utilisateur. Le nom sera ajouté B2C_1_ avec après la création si le préfixe n’a pas été ajouté au nom pendant votre demande. |
| userFlowType |
String |
Obligatoire. Type de flux utilisateur que vous créez. Les valeurs prises en charge pour userFlowType sont les suivantes :
signUpsignInsignUpOrSignInpasswordResetprofileUpdateresourceOwner
|
| userFlowTypeVersion |
Flottant |
Obligatoire. La version du flux d’utilisateur. |
| isLanguageCustomizationEnabled |
Booléen |
Facultatif. Détermine si la personnalisation de la langue est activée dans le flux utilisateur Azure AD B2C. La personnalisation de la langue n’est pas activée par défaut pour les flux utilisateur Azure AD B2C. |
| defaultLanguageTag |
String |
Facultatif. Spécifie la langue par défaut du b2cIdentityUserFlow utilisé lorsqu’aucune balise n’est ui_locale spécifiée dans la requête. Ce champ n’est pas conforme à la norme RFC 5646. |
| identityProviders |
collection identityProvider |
Facultatif. Les fournisseurs d’identité que vous souhaitez inclure dans le flux utilisateur. |
Réponse
Si elle réussit, cette méthode renvoie un 201 Created code de réponse et un en-tête Location avec un URI à l’objet b2cIdentityUserFlow créé pour cette requête, avec le B2C_1_ préfixe ajouté au nom. En cas d’échec, une 4xx erreur est retournée avec des détails spécifiques.
Exemples
Exemple 1 : Créer un flux d’utilisateur avec les valeurs par défaut
Demande
Voici un exemple de demande.
POST https://graph.microsoft.com/beta/identity/b2cUserFlows
Content-type: application/json
{
"id": "Customer",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 3
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new B2cIdentityUserFlow
{
Id = "Customer",
UserFlowType = UserFlowType.SignUpOrSignIn,
UserFlowTypeVersion = 3f,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Identity.B2cUserFlows.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.NewB2cIdentityUserFlow()
id := "Customer"
requestBody.SetId(&id)
userFlowType := graphmodels.SIGNUPORSIGNIN_USERFLOWTYPE
requestBody.SetUserFlowType(&userFlowType)
userFlowTypeVersion := float32(3)
requestBody.SetUserFlowTypeVersion(&userFlowTypeVersion)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
b2cUserFlows, err := graphClient.Identity().B2cUserFlows().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
B2cIdentityUserFlow b2cIdentityUserFlow = new B2cIdentityUserFlow();
b2cIdentityUserFlow.setId("Customer");
b2cIdentityUserFlow.setUserFlowType(UserFlowType.SignUpOrSignIn);
b2cIdentityUserFlow.setUserFlowTypeVersion(3f);
B2cIdentityUserFlow result = graphClient.identity().b2cUserFlows().post(b2cIdentityUserFlow);
const options = {
authProvider,
};
const client = Client.init(options);
const b2cIdentityUserFlow = {
id: 'Customer',
userFlowType: 'signUpOrSignIn',
userFlowTypeVersion: 3
};
await client.api('/identity/b2cUserFlows')
.version('beta')
.post(b2cIdentityUserFlow);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\B2cIdentityUserFlow;
use Microsoft\Graph\Beta\Generated\Models\UserFlowType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new B2cIdentityUserFlow();
$requestBody->setId('Customer');
$requestBody->setUserFlowType(new UserFlowType('signUpOrSignIn'));
$requestBody->setUserFlowTypeVersion(3);
$result = $graphServiceClient->identity()->b2cUserFlows()->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.b2c_identity_user_flow import B2cIdentityUserFlow
from msgraph_beta.generated.models.user_flow_type import UserFlowType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = B2cIdentityUserFlow(
id = "Customer",
user_flow_type = UserFlowType.SignUpOrSignIn,
user_flow_type_version = 3,
)
result = await graph_client.identity.b2c_user_flows.post(request_body)
Réponse
Voici un exemple de réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 201 Created
Location: https://graph.microsoft.com/beta/identity/b2cUserFlows('B2C_1_Customer')
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#identity/b2cUserFlows/$entity",
"id": "B2C_1_Customer",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 3,
"isLanguageCustomizationEnabled": false,
"defaultLanguageTag": "en",
"authenticationMethods": "emailWithPassword",
"tokenClaimsConfiguration": {
"isIssuerEntityUserFlow": false
},
"apiConnectorConfiguration": {}
}
Exemple 2 : Créer un flux d’utilisateur avec les valeurs par défaut et un fournisseur d’identité
Demande
Voici un exemple de demande.
POST https://graph.microsoft.com/beta/identity/b2cUserFlows
Location: https://graph.microsoft.com/beta/identity/b2cUserFlows('B2C_1_Customer')
Content-type: application/json
{
"id": "Customer",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 3,
"identityProviders": [
{
"id": "Facebook-OAuth"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new B2cIdentityUserFlow
{
Id = "Customer",
UserFlowType = UserFlowType.SignUpOrSignIn,
UserFlowTypeVersion = 3f,
IdentityProviders = new List<IdentityProvider>
{
new IdentityProvider
{
Id = "Facebook-OAuth",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Identity.B2cUserFlows.PostAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("Location", "https://graph.microsoft.com/beta/identity/b2cUserFlows('B2C_1_Customer')");
});
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
graphidentity "github.com/microsoftgraph/msgraph-beta-sdk-go/identity"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("Location", "https://graph.microsoft.com/beta/identity/b2cUserFlows('B2C_1_Customer')")
configuration := &graphidentity.IdentityB2cUserFlowsRequestBuilderPostRequestConfiguration{
Headers: headers,
}
requestBody := graphmodels.NewB2cIdentityUserFlow()
id := "Customer"
requestBody.SetId(&id)
userFlowType := graphmodels.SIGNUPORSIGNIN_USERFLOWTYPE
requestBody.SetUserFlowType(&userFlowType)
userFlowTypeVersion := float32(3)
requestBody.SetUserFlowTypeVersion(&userFlowTypeVersion)
identityProvider := graphmodels.NewIdentityProvider()
id := "Facebook-OAuth"
identityProvider.SetId(&id)
identityProviders := []graphmodels.IdentityProviderable {
identityProvider,
}
requestBody.SetIdentityProviders(identityProviders)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
b2cUserFlows, err := graphClient.Identity().B2cUserFlows().Post(context.Background(), requestBody, configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
B2cIdentityUserFlow b2cIdentityUserFlow = new B2cIdentityUserFlow();
b2cIdentityUserFlow.setId("Customer");
b2cIdentityUserFlow.setUserFlowType(UserFlowType.SignUpOrSignIn);
b2cIdentityUserFlow.setUserFlowTypeVersion(3f);
LinkedList<IdentityProvider> identityProviders = new LinkedList<IdentityProvider>();
IdentityProvider identityProvider = new IdentityProvider();
identityProvider.setId("Facebook-OAuth");
identityProviders.add(identityProvider);
b2cIdentityUserFlow.setIdentityProviders(identityProviders);
B2cIdentityUserFlow result = graphClient.identity().b2cUserFlows().post(b2cIdentityUserFlow, requestConfiguration -> {
requestConfiguration.headers.add("Location", "https://graph.microsoft.com/beta/identity/b2cUserFlows('B2C_1_Customer')");
});
const options = {
authProvider,
};
const client = Client.init(options);
const b2cIdentityUserFlow = {
id: 'Customer',
userFlowType: 'signUpOrSignIn',
userFlowTypeVersion: 3,
identityProviders: [
{
id: 'Facebook-OAuth'
}
]
};
await client.api('/identity/b2cUserFlows')
.version('beta')
.post(b2cIdentityUserFlow);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Identity\B2cUserFlows\B2cUserFlowsRequestBuilderPostRequestConfiguration;
use Microsoft\Graph\Beta\Generated\Models\B2cIdentityUserFlow;
use Microsoft\Graph\Beta\Generated\Models\UserFlowType;
use Microsoft\Graph\Beta\Generated\Models\IdentityProvider;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new B2cIdentityUserFlow();
$requestBody->setId('Customer');
$requestBody->setUserFlowType(new UserFlowType('signUpOrSignIn'));
$requestBody->setUserFlowTypeVersion(3);
$identityProvidersIdentityProvider1 = new IdentityProvider();
$identityProvidersIdentityProvider1->setId('Facebook-OAuth');
$identityProvidersArray []= $identityProvidersIdentityProvider1;
$requestBody->setIdentityProviders($identityProvidersArray);
$requestConfiguration = new B2cUserFlowsRequestBuilderPostRequestConfiguration();
$headers = [
'Location' => 'https://graph.microsoft.com/beta/identity/b2cUserFlows(\'B2C_1_Customer\')',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->identity()->b2cUserFlows()->post($requestBody, $requestConfiguration)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.identity.b2c_user_flows.b2c_user_flows_request_builder import B2cUserFlowsRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph_beta.generated.models.b2c_identity_user_flow import B2cIdentityUserFlow
from msgraph_beta.generated.models.user_flow_type import UserFlowType
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 = B2cIdentityUserFlow(
id = "Customer",
user_flow_type = UserFlowType.SignUpOrSignIn,
user_flow_type_version = 3,
identity_providers = [
IdentityProvider(
id = "Facebook-OAuth",
),
],
)
request_configuration = RequestConfiguration()
request_configuration.headers.add("Location", "https://graph.microsoft.com/beta/identity/b2cUserFlows('B2C_1_Customer')")
result = await graph_client.identity.b2c_user_flows.post(request_body, request_configuration = request_configuration)
Réponse
Voici un exemple de 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.context": "https://graph.microsoft.com/beta/$metadata#identity/b2cUserFlows/$entity",
"id": "B2C_1_Customer",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 3,
"isLanguageCustomizationEnabled": false,
"defaultLanguageTag": "en",
"authenticationMethods": "0",
"tokenClaimsConfiguration": {
"isIssuerEntityUserFlow": false
},
"apiConnectorConfiguration": {}
}
Exemple 3 : Créer un flux utilisateur avec les valeurs et la configuration par défaut pour les connecteurs d’API
Demande
Voici un exemple de demande.
POST https://graph.microsoft.com/beta/identity/b2cUserFlows
Content-type: application/json
{
"id": "UserFlowWithAPIConnector",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 1,
"apiConnectorConfiguration":{
"postFederationSignup":{
"@odata.id": "{apiConnectorId}"
},
"postAttributeCollection":{
"@odata.id": "{apiConnectorId}"
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new B2cIdentityUserFlow
{
Id = "UserFlowWithAPIConnector",
UserFlowType = UserFlowType.SignUpOrSignIn,
UserFlowTypeVersion = 1f,
ApiConnectorConfiguration = new UserFlowApiConnectorConfiguration
{
PostFederationSignup = new IdentityApiConnector
{
AdditionalData = new Dictionary<string, object>
{
{
"@odata.id" , "{apiConnectorId}"
},
},
},
PostAttributeCollection = new IdentityApiConnector
{
AdditionalData = new Dictionary<string, object>
{
{
"@odata.id" , "{apiConnectorId}"
},
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Identity.B2cUserFlows.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.NewB2cIdentityUserFlow()
id := "UserFlowWithAPIConnector"
requestBody.SetId(&id)
userFlowType := graphmodels.SIGNUPORSIGNIN_USERFLOWTYPE
requestBody.SetUserFlowType(&userFlowType)
userFlowTypeVersion := float32(1)
requestBody.SetUserFlowTypeVersion(&userFlowTypeVersion)
apiConnectorConfiguration := graphmodels.NewUserFlowApiConnectorConfiguration()
postFederationSignup := graphmodels.NewIdentityApiConnector()
additionalData := map[string]interface{}{
"@odata.id" : "{apiConnectorId}",
}
postFederationSignup.SetAdditionalData(additionalData)
apiConnectorConfiguration.SetPostFederationSignup(postFederationSignup)
postAttributeCollection := graphmodels.NewIdentityApiConnector()
additionalData := map[string]interface{}{
"@odata.id" : "{apiConnectorId}",
}
postAttributeCollection.SetAdditionalData(additionalData)
apiConnectorConfiguration.SetPostAttributeCollection(postAttributeCollection)
requestBody.SetApiConnectorConfiguration(apiConnectorConfiguration)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
b2cUserFlows, err := graphClient.Identity().B2cUserFlows().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
B2cIdentityUserFlow b2cIdentityUserFlow = new B2cIdentityUserFlow();
b2cIdentityUserFlow.setId("UserFlowWithAPIConnector");
b2cIdentityUserFlow.setUserFlowType(UserFlowType.SignUpOrSignIn);
b2cIdentityUserFlow.setUserFlowTypeVersion(1f);
UserFlowApiConnectorConfiguration apiConnectorConfiguration = new UserFlowApiConnectorConfiguration();
IdentityApiConnector postFederationSignup = new IdentityApiConnector();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("@odata.id", "{apiConnectorId}");
postFederationSignup.setAdditionalData(additionalData);
apiConnectorConfiguration.setPostFederationSignup(postFederationSignup);
IdentityApiConnector postAttributeCollection = new IdentityApiConnector();
HashMap<String, Object> additionalData1 = new HashMap<String, Object>();
additionalData1.put("@odata.id", "{apiConnectorId}");
postAttributeCollection.setAdditionalData(additionalData1);
apiConnectorConfiguration.setPostAttributeCollection(postAttributeCollection);
b2cIdentityUserFlow.setApiConnectorConfiguration(apiConnectorConfiguration);
B2cIdentityUserFlow result = graphClient.identity().b2cUserFlows().post(b2cIdentityUserFlow);
const options = {
authProvider,
};
const client = Client.init(options);
const b2cIdentityUserFlow = {
id: 'UserFlowWithAPIConnector',
userFlowType: 'signUpOrSignIn',
userFlowTypeVersion: 1,
apiConnectorConfiguration: {
postFederationSignup: {
'@odata.id': '{apiConnectorId}'
},
postAttributeCollection: {
'@odata.id': '{apiConnectorId}'
}
}
};
await client.api('/identity/b2cUserFlows')
.version('beta')
.post(b2cIdentityUserFlow);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\B2cIdentityUserFlow;
use Microsoft\Graph\Beta\Generated\Models\UserFlowType;
use Microsoft\Graph\Beta\Generated\Models\UserFlowApiConnectorConfiguration;
use Microsoft\Graph\Beta\Generated\Models\IdentityApiConnector;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new B2cIdentityUserFlow();
$requestBody->setId('UserFlowWithAPIConnector');
$requestBody->setUserFlowType(new UserFlowType('signUpOrSignIn'));
$requestBody->setUserFlowTypeVersion(1);
$apiConnectorConfiguration = new UserFlowApiConnectorConfiguration();
$apiConnectorConfigurationPostFederationSignup = new IdentityApiConnector();
$additionalData = [
'@odata.id' => '{apiConnectorId}',
];
$apiConnectorConfigurationPostFederationSignup->setAdditionalData($additionalData);
$apiConnectorConfiguration->setPostFederationSignup($apiConnectorConfigurationPostFederationSignup);
$apiConnectorConfigurationPostAttributeCollection = new IdentityApiConnector();
$additionalData = [
'@odata.id' => '{apiConnectorId}',
];
$apiConnectorConfigurationPostAttributeCollection->setAdditionalData($additionalData);
$apiConnectorConfiguration->setPostAttributeCollection($apiConnectorConfigurationPostAttributeCollection);
$requestBody->setApiConnectorConfiguration($apiConnectorConfiguration);
$result = $graphServiceClient->identity()->b2cUserFlows()->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.b2c_identity_user_flow import B2cIdentityUserFlow
from msgraph_beta.generated.models.user_flow_type import UserFlowType
from msgraph_beta.generated.models.user_flow_api_connector_configuration import UserFlowApiConnectorConfiguration
from msgraph_beta.generated.models.identity_api_connector import IdentityApiConnector
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = B2cIdentityUserFlow(
id = "UserFlowWithAPIConnector",
user_flow_type = UserFlowType.SignUpOrSignIn,
user_flow_type_version = 1,
api_connector_configuration = UserFlowApiConnectorConfiguration(
post_federation_signup = IdentityApiConnector(
additional_data = {
"@odata_id" : "{apiConnectorId}",
}
),
post_attribute_collection = IdentityApiConnector(
additional_data = {
"@odata_id" : "{apiConnectorId}",
}
),
),
)
result = await graph_client.identity.b2c_user_flows.post(request_body)
Réponse
Voici un exemple de réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
Note: La apiConnectorConfiguration propriété retourne toujours une valeur «{} ». Pour afficher la valeur complète avec les propriétés de navigation, utilisez cette API.
HTTP/1.1 201 Created
Location: https://graph.microsoft.com/beta/identity/b2cUserFlows/B2C_1_Partner
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#identity/b2cUserFlows/$entity",
"id": "B2C_1_UserFlowWithAPIConnector",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 1,
"apiConnectorConfiguration": {}
}