创建 b2xIdentityUserFlow
命名空间:microsoft.graph
创建新的 b2xIdentityUserFlow 对象。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
IdentityUserFlow.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
IdentityUserFlow.ReadWrite.All |
工作或学校帐户需要属于以下角色之一:
HTTP 请求
POST /identity/b2xUserFlows
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,提供 b2xIdentityUserFlow的 JSON 表示形式。
| 属性 |
类型 |
说明 |
| id |
String |
必需。 用户流名称。 该名称将在创建后进行 B2X_1 预笔式处理。 |
| userFlowType |
String |
必需。 要创建的用户流的类型。 此值将始终为 signUpOrSignIn 。 |
| userFlowTypeVersion |
浮点 |
必需。 用户流版本。 此值将始终为 1。 |
| apiConnectorConfiguration |
userFlowApiConnectorConfiguration |
可选。 用于启用 API 连接器的配置,以便其可以成为用户流的一部分。 |
响应
如果成功,此方法将返回响应代码和位置标头,其 URI 为为此请求创建的 201 Created b2xIdentityUserFlow 对象,并添加前缀 B2X_1 到名称中。 如果失败,将返回 4xx 错误并显示具体详细信息。
示例
示例 1:使用默认值创建用户流
请求
下面展示了示例请求。
POST https://graph.microsoft.com/v1.0/identity/b2xUserFlows
Content-type: application/json
{
"id": "Partner",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 1
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var b2xIdentityUserFlow = new B2xIdentityUserFlow
{
Id = "Partner",
UserFlowType = UserFlowType.SignUpOrSignIn,
UserFlowTypeVersion = 1f
};
await graphClient.Identity.B2xUserFlows
.Request()
.AddAsync(b2xIdentityUserFlow);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const b2xIdentityUserFlow = {
id: 'Partner',
userFlowType: 'signUpOrSignIn',
userFlowTypeVersion: 1
};
await client.api('/identity/b2xUserFlows')
.post(b2xIdentityUserFlow);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/identity/b2xUserFlows"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphB2xIdentityUserFlow *b2xIdentityUserFlow = [[MSGraphB2xIdentityUserFlow alloc] init];
[b2xIdentityUserFlow setId:@"Partner"];
[b2xIdentityUserFlow setUserFlowType: [MSGraphUserFlowType signUpOrSignIn]];
[b2xIdentityUserFlow setUserFlowTypeVersion: 1];
NSError *error;
NSData *b2xIdentityUserFlowData = [b2xIdentityUserFlow getSerializedDataWithError:&error];
[urlRequest setHTTPBody:b2xIdentityUserFlowData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
B2xIdentityUserFlow b2xIdentityUserFlow = new B2xIdentityUserFlow();
b2xIdentityUserFlow.id = "Partner";
b2xIdentityUserFlow.userFlowType = UserFlowType.SIGN_UP_OR_SIGN_IN;
b2xIdentityUserFlow.userFlowTypeVersion = 1;
graphClient.identity().b2xUserFlows()
.buildRequest()
.post(b2xIdentityUserFlow);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewB2xIdentityUserFlow()
id := "Partner"
requestBody.SetId(&id)
userFlowType := "signUpOrSignIn"
requestBody.SetUserFlowType(&userFlowType)
userFlowTypeVersion := float32(1)
requestBody.SetUserFlowTypeVersion(&userFlowTypeVersion)
result, err := graphClient.Identity().B2xUserFlows().Post(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Location: https://graph.microsoft.com/v1.0/identity/b2xUserFlows/B2X_1_Partner
Content-type: application/json
{
"id": "B2X_1_Partner",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 1
}
示例 2:使用默认值和标识提供程序创建用户流
请求
下面展示了示例请求。
POST https://graph.microsoft.com/v1.0/identity/b2xUserFlows
Content-type: application/json
{
"id": "Partner",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 1,
"identityProviders": [
{
"id": "Facebook-OAuth",
"type": "Facebook",
"name": "Facebook"
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var b2xIdentityUserFlow = new B2xIdentityUserFlow
{
Id = "Partner",
UserFlowType = UserFlowType.SignUpOrSignIn,
UserFlowTypeVersion = 1f,
IdentityProviders = new B2xIdentityUserFlowIdentityProvidersCollectionWithReferencesPage()
{
new IdentityProvider
{
Id = "Facebook-OAuth",
Type = "Facebook",
Name = "Facebook"
}
}
};
await graphClient.Identity.B2xUserFlows
.Request()
.AddAsync(b2xIdentityUserFlow);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const b2xIdentityUserFlow = {
id: 'Partner',
userFlowType: 'signUpOrSignIn',
userFlowTypeVersion: 1,
identityProviders: [
{
id: 'Facebook-OAuth',
type: 'Facebook',
name: 'Facebook'
}
]
};
await client.api('/identity/b2xUserFlows')
.post(b2xIdentityUserFlow);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/identity/b2xUserFlows"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphB2xIdentityUserFlow *b2xIdentityUserFlow = [[MSGraphB2xIdentityUserFlow alloc] init];
[b2xIdentityUserFlow setId:@"Partner"];
[b2xIdentityUserFlow setUserFlowType: [MSGraphUserFlowType signUpOrSignIn]];
[b2xIdentityUserFlow setUserFlowTypeVersion: 1];
NSMutableArray *identityProvidersList = [[NSMutableArray alloc] init];
MSGraphIdentityProvider *identityProviders = [[MSGraphIdentityProvider alloc] init];
[identityProviders setId:@"Facebook-OAuth"];
[identityProviders setType:@"Facebook"];
[identityProviders setName:@"Facebook"];
[identityProvidersList addObject: identityProviders];
[b2xIdentityUserFlow setIdentityProviders:identityProvidersList];
NSError *error;
NSData *b2xIdentityUserFlowData = [b2xIdentityUserFlow getSerializedDataWithError:&error];
[urlRequest setHTTPBody:b2xIdentityUserFlowData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
B2xIdentityUserFlow b2xIdentityUserFlow = new B2xIdentityUserFlow();
b2xIdentityUserFlow.id = "Partner";
b2xIdentityUserFlow.userFlowType = UserFlowType.SIGN_UP_OR_SIGN_IN;
b2xIdentityUserFlow.userFlowTypeVersion = 1;
LinkedList<IdentityProvider> identityProvidersList = new LinkedList<IdentityProvider>();
IdentityProvider identityProviders = new IdentityProvider();
identityProviders.id = "Facebook-OAuth";
identityProviders.type = "Facebook";
identityProviders.name = "Facebook";
identityProvidersList.add(identityProviders);
IdentityProviderCollectionResponse identityProviderCollectionResponse = new IdentityProviderCollectionResponse();
identityProviderCollectionResponse.value = identityProvidersList;
IdentityProviderCollectionPage identityProviderCollectionPage = new IdentityProviderCollectionPage(identityProviderCollectionResponse, null);
b2xIdentityUserFlow.identityProviders = identityProviderCollectionPage;
graphClient.identity().b2xUserFlows()
.buildRequest()
.post(b2xIdentityUserFlow);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewB2xIdentityUserFlow()
id := "Partner"
requestBody.SetId(&id)
userFlowType := "signUpOrSignIn"
requestBody.SetUserFlowType(&userFlowType)
userFlowTypeVersion := float32(1)
requestBody.SetUserFlowTypeVersion(&userFlowTypeVersion)
requestBody.SetIdentityProviders( []IdentityProvider {
msgraphsdk.NewIdentityProvider(),
id := "Facebook-OAuth"
SetId(&id)
type := "Facebook"
SetType(&type)
name := "Facebook"
SetName(&name)
}
result, err := graphClient.Identity().B2xUserFlows().Post(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Location: https://graph.microsoft.com/v1.0/identity/b2xUserFlows/B2X_1_Partner
Content-type: application/json
{
"id": "B2X_1_Partner",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 1
}
示例 3:使用 API 连接器的默认值和配置创建用户流
请求
下面展示了示例请求。
POST https://graph.microsoft.com/v1.0/identity/b2xUserFlows
Content-type: application/json
{
"id": "UserFlowWithAPIConnector",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 1,
"apiConnectorConfiguration":{
"postFederationSignup":{
"@odata.id": "https://graph.microsoft.com/v1/identity/apiConnectors/{id}"
},
"postAttributeCollection":{
"@odata.id": "https://graph.microsoft.com/v1/identity/apiConnectors/{id}"
}
}
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var b2xIdentityUserFlow = new B2xIdentityUserFlow
{
Id = "UserFlowWithAPIConnector",
UserFlowType = UserFlowType.SignUpOrSignIn,
UserFlowTypeVersion = 1f,
ApiConnectorConfiguration = new UserFlowApiConnectorConfiguration
{
PostFederationSignup = new IdentityApiConnector
{
AdditionalData = new Dictionary<string, object>()
{
{"@odata.id", "https://graph.microsoft.com/v1/identity/apiConnectors/{id}"}
}
},
PostAttributeCollection = new IdentityApiConnector
{
AdditionalData = new Dictionary<string, object>()
{
{"@odata.id", "https://graph.microsoft.com/v1/identity/apiConnectors/{id}"}
}
}
}
};
await graphClient.Identity.B2xUserFlows
.Request()
.AddAsync(b2xIdentityUserFlow);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const b2xIdentityUserFlow = {
id: 'UserFlowWithAPIConnector',
userFlowType: 'signUpOrSignIn',
userFlowTypeVersion: 1,
apiConnectorConfiguration: {
postFederationSignup: {
'@odata.id': 'https://graph.microsoft.com/v1/identity/apiConnectors/{id}'
},
postAttributeCollection: {
'@odata.id': 'https://graph.microsoft.com/v1/identity/apiConnectors/{id}'
}
}
};
await client.api('/identity/b2xUserFlows')
.post(b2xIdentityUserFlow);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/identity/b2xUserFlows"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphB2xIdentityUserFlow *b2xIdentityUserFlow = [[MSGraphB2xIdentityUserFlow alloc] init];
[b2xIdentityUserFlow setId:@"UserFlowWithAPIConnector"];
[b2xIdentityUserFlow setUserFlowType: [MSGraphUserFlowType signUpOrSignIn]];
[b2xIdentityUserFlow setUserFlowTypeVersion: 1];
MSGraphUserFlowApiConnectorConfiguration *apiConnectorConfiguration = [[MSGraphUserFlowApiConnectorConfiguration alloc] init];
MSGraphIdentityApiConnector *postFederationSignup = [[MSGraphIdentityApiConnector alloc] init];
[apiConnectorConfiguration setPostFederationSignup:postFederationSignup];
MSGraphIdentityApiConnector *postAttributeCollection = [[MSGraphIdentityApiConnector alloc] init];
[apiConnectorConfiguration setPostAttributeCollection:postAttributeCollection];
[b2xIdentityUserFlow setApiConnectorConfiguration:apiConnectorConfiguration];
NSError *error;
NSData *b2xIdentityUserFlowData = [b2xIdentityUserFlow getSerializedDataWithError:&error];
[urlRequest setHTTPBody:b2xIdentityUserFlowData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
B2xIdentityUserFlow b2xIdentityUserFlow = new B2xIdentityUserFlow();
b2xIdentityUserFlow.id = "UserFlowWithAPIConnector";
b2xIdentityUserFlow.userFlowType = UserFlowType.SIGN_UP_OR_SIGN_IN;
b2xIdentityUserFlow.userFlowTypeVersion = 1;
UserFlowApiConnectorConfiguration apiConnectorConfiguration = new UserFlowApiConnectorConfiguration();
IdentityApiConnector postFederationSignup = new IdentityApiConnector();
postFederationSignup.additionalDataManager().put("@odata.id", new JsonPrimitive("https://graph.microsoft.com/v1/identity/apiConnectors/{id}"));
apiConnectorConfiguration.postFederationSignup = postFederationSignup;
IdentityApiConnector postAttributeCollection = new IdentityApiConnector();
postAttributeCollection.additionalDataManager().put("@odata.id", new JsonPrimitive("https://graph.microsoft.com/v1/identity/apiConnectors/{id}"));
apiConnectorConfiguration.postAttributeCollection = postAttributeCollection;
b2xIdentityUserFlow.apiConnectorConfiguration = apiConnectorConfiguration;
graphClient.identity().b2xUserFlows()
.buildRequest()
.post(b2xIdentityUserFlow);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewB2xIdentityUserFlow()
id := "UserFlowWithAPIConnector"
requestBody.SetId(&id)
userFlowType := "signUpOrSignIn"
requestBody.SetUserFlowType(&userFlowType)
userFlowTypeVersion := float32(1)
requestBody.SetUserFlowTypeVersion(&userFlowTypeVersion)
apiConnectorConfiguration := msgraphsdk.NewUserFlowApiConnectorConfiguration()
requestBody.SetApiConnectorConfiguration(apiConnectorConfiguration)
postFederationSignup := msgraphsdk.NewIdentityApiConnector()
apiConnectorConfiguration.SetPostFederationSignup(postFederationSignup)
postFederationSignup.SetAdditionalData(map[string]interface{}{
"@odata.id": "https://graph.microsoft.com/v1/identity/apiConnectors/{id}",
}
postAttributeCollection := msgraphsdk.NewIdentityApiConnector()
apiConnectorConfiguration.SetPostAttributeCollection(postAttributeCollection)
postAttributeCollection.SetAdditionalData(map[string]interface{}{
"@odata.id": "https://graph.microsoft.com/v1/identity/apiConnectors/{id}",
}
result, err := graphClient.Identity().B2xUserFlows().Post(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
注意: 属性 apiConnectorConfiguration 始终返回 ' {} ' 值。 若要使用导航属性查看完整值,请使用 此 API。
HTTP/1.1 201 Created
Location: https://graph.microsoft.com/v1.0/identity/b2xUserFlows/B2X_1_Partner
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identity/b2xUserFlows/$entity",
"id": "B2X_1_UserFlowWithAPIConnector",
"userFlowType": "signUpOrSignIn",
"userFlowTypeVersion": 1,
"apiConnectorConfiguration": {}
}