创建 userAttributeAssignments
命名空间:microsoft.graph
在 b2cIdentityUserFlow中创建新的 identityUserFlowAttributeAssignment 对象。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
IdentityUserFlow.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持 |
| 应用程序 |
IdentityUserFlow.ReadWrite.All |
HTTP 请求
POST /identity/b2cUserFlows/{id}/userAttributeAssignments
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,提供 identityUserFlowAttributeAssignment 对象的 JSON 表示形式。
下表显示创建 identityUserFlowAttributeAssignment 时所需的属性。
| 属性 |
类型 |
说明 |
| displayName |
String |
用户显示名称中的 identityUserFlowAttribute 的组。 |
| isOptional |
布尔 |
确定 identityUserFlowAttribute 是否可选。 true 表示用户不必提供值。 false 表示用户无法在未提供值的情况下完成注册。 |
| requiresVerification |
布尔 |
确定 identityUserFlowAttribute 是否需要验证。 这仅用于验证用户的电话号码或电子邮件地址。 |
| userAttributeValues |
userAttributeValuesItem 集合 |
用户流属性的输入选项。 仅在 userInputType 为 radioSingleSelect 、 dropdownSingleSelect 或 时适用 checkboxMultiSelect 。 |
| userInputType |
identityUserFlowAttributeInputType |
用户流属性的输入类型。 可取值为:textBox、dateTimeDropdown、radioSingleSelect、dropdownSingleSelect、emailBox、checkboxMultiSelect。 |
| userAttribute |
identityUserFlowAttribute |
要包括在用户流分配中的用户流属性的标识符。 |
响应
如果成功,此方法在响应正文中返回 响应代码和 201 Created identityUserFlowAttributeAssignment 对象。
示例
请求
POST https://graph.microsoft.com/beta/identity/b2cUserFlows/B2C_1_Consumer/userAttributeAssignments
Content-Type: application/json
{
"isOptional": false,
"requiresVerification": false,
"userInputType": "TextBox",
"displayName": "Shoe size",
"userAttributeValues": [],
"userAttribute": {
"id": "extension_guid_shoeSize"
}
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var identityUserFlowAttributeAssignment = new IdentityUserFlowAttributeAssignment
{
IsOptional = false,
RequiresVerification = false,
UserInputType = IdentityUserFlowAttributeInputType.TextBox,
DisplayName = "Shoe size",
UserAttributeValues = new List<UserAttributeValuesItem>()
{
},
UserAttribute = new IdentityUserFlowAttribute
{
Id = "extension_guid_shoeSize"
}
};
await graphClient.Identity.B2cUserFlows["{b2cIdentityUserFlow-id}"].UserAttributeAssignments
.Request()
.AddAsync(identityUserFlowAttributeAssignment);
const options = {
authProvider,
};
const client = Client.init(options);
const identityUserFlowAttributeAssignment = {
isOptional: false,
requiresVerification: false,
userInputType: 'TextBox',
displayName: 'Shoe size',
userAttributeValues: [],
userAttribute: {
id: 'extension_guid_shoeSize'
}
};
await client.api('/identity/b2cUserFlows/B2C_1_Consumer/userAttributeAssignments')
.version('beta')
.post(identityUserFlowAttributeAssignment);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/identity/b2cUserFlows/B2C_1_Consumer/userAttributeAssignments"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphIdentityUserFlowAttributeAssignment *identityUserFlowAttributeAssignment = [[MSGraphIdentityUserFlowAttributeAssignment alloc] init];
[identityUserFlowAttributeAssignment setIsOptional: false];
[identityUserFlowAttributeAssignment setRequiresVerification: false];
[identityUserFlowAttributeAssignment setUserInputType: [MSGraphIdentityUserFlowAttributeInputType textBox]];
[identityUserFlowAttributeAssignment setDisplayName:@"Shoe size"];
NSMutableArray *userAttributeValuesList = [[NSMutableArray alloc] init];
[identityUserFlowAttributeAssignment setUserAttributeValues:userAttributeValuesList];
MSGraphIdentityUserFlowAttribute *userAttribute = [[MSGraphIdentityUserFlowAttribute alloc] init];
[userAttribute setId:@"extension_guid_shoeSize"];
[identityUserFlowAttributeAssignment setUserAttribute:userAttribute];
NSError *error;
NSData *identityUserFlowAttributeAssignmentData = [identityUserFlowAttributeAssignment getSerializedDataWithError:&error];
[urlRequest setHTTPBody:identityUserFlowAttributeAssignmentData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
IdentityUserFlowAttributeAssignment identityUserFlowAttributeAssignment = new IdentityUserFlowAttributeAssignment();
identityUserFlowAttributeAssignment.isOptional = false;
identityUserFlowAttributeAssignment.requiresVerification = false;
identityUserFlowAttributeAssignment.userInputType = IdentityUserFlowAttributeInputType.TEXT_BOX;
identityUserFlowAttributeAssignment.displayName = "Shoe size";
LinkedList<UserAttributeValuesItem> userAttributeValuesList = new LinkedList<UserAttributeValuesItem>();
identityUserFlowAttributeAssignment.userAttributeValues = userAttributeValuesList;
IdentityUserFlowAttribute userAttribute = new IdentityUserFlowAttribute();
userAttribute.id = "extension_guid_shoeSize";
identityUserFlowAttributeAssignment.userAttribute = userAttribute;
graphClient.identity().b2cUserFlows("B2C_1_Consumer").userAttributeAssignments()
.buildRequest()
.post(identityUserFlowAttributeAssignment);
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewIdentityUserFlowAttributeAssignment()
isOptional := false
requestBody.SetIsOptional(&isOptional)
requiresVerification := false
requestBody.SetRequiresVerification(&requiresVerification)
userInputType := "TextBox"
requestBody.SetUserInputType(&userInputType)
displayName := "Shoe size"
requestBody.SetDisplayName(&displayName)
requestBody.SetUserAttributeValues( []UserAttributeValuesItem {
}
userAttribute := msgraphsdk.NewIdentityUserFlowAttribute()
requestBody.SetUserAttribute(userAttribute)
id := "extension_guid_shoeSize"
userAttribute.SetId(&id)
b2cIdentityUserFlowId := "b2cIdentityUserFlow-id"
result, err := graphClient.Identity().B2cUserFlowsById(&b2cIdentityUserFlowId).UserAttributeAssignments().Post(requestBody)
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Location: https://graph.microsoft.com/beta/identity/b2xUserFlows/B2C_1_Consumer/userAttributeAssignments/extension_guid_shoeSize
Content-Type: application/json
{
"id": "extension_guid_shoeSize",
"isOptional": false,
"requiresVerification": false,
"userInputType": "TextBox",
"displayName": "Shoe size",
"userAttributeValues": []
}