【发布时间】:2020-07-16 07:02:13
【问题描述】:
在我的 Azure B2C 目录中,我创建了一个名为 EmployeeId 的自定义属性。我正在使用 Microsoft Graph 库创建用户。我按照这个GitHub Example的例子。
我的实际用户创建代码如下所示:
public async Task InsertEmployee(Employee employee)
{
IDictionary<string, object> extensionInstance = new Dictionary<string, object>();
extensionInstance.Add("EmployeeId", employee.EmployeeId.ToString());
var user = new B2cUserModel
{
DisplayName = $"{employee.EmployeeFirstName} {employee.EmployeeLastName}",
GivenName = employee.EmployeeFirstName,
Surname = employee.EmployeeLastName,
Password = employee.Password,
Identities = new List<ObjectIdentity> {
new ObjectIdentity {
SignInType = "emailAddress",
IssuerAssignedId = employee.EmployeeEmail
}
},
EmployeeId = employee.EmployeeId.ToString()
AdditionalData = extensionInstance
};
user.SetB2CProfile(_domain);
await _client.Users.Request().AddAsync(user);
}
}
但每当我通过代码或通过 user_flow 检索用户详细信息时,EmployeeId 始终为空。谁能发现我做错了什么?
【问题讨论】:
-
嗨 lenny,你试过我的解决方案了吗?如果有任何进一步的问题,请告诉我。
-
嘿艾伦,是的,我确实尝试了您的解决方案。它告诉我没有名为“extension_{client_id}_EmployeeId”的属性。 (我实际上并没有放 {client_id},而是实际的客户 ID)。我的时间不够用了,所以我暂时将employeeId 放在了职称中。当我有时间时,我会回来再看看这个。感谢您的建议。
-
请在应用注册中找到 WebApp-GraphAPI-DirectoryExtensions 应用。我认为您输入了错误的应用 ID。
标签: c# azure microsoft-graph-api azure-ad-b2c