我们为客户提供了AAD B2C解决方案,并且我们已经构建了导入工具,该工具可以从源中收集用户并在AD B2C中创建用户。
这是通过Active Directory图形Api完成的,但是在忘记密码的流程方面我们遇到了问题。
{
"accountEnabled": true,
"signInNames": [
{
"type": "userName",
"value": "****"
}
],
"passwordPolicies" : "DisablePasswordExpiration, DisableStrongPassword",
"passwordProfile": {
"password": "SomePassword",
"forceChangePasswordNextLogin": false
},
"otherMails": ["****@****.net"],
"creationType": "LocalAccount",
"displayName": "*****",
"givenName": "*****",
"surname": "***** *****",
"userPrincipalName": "PLH@vandeputprd.onmicrosoft.com",
"extension_extensionID_ClientId": "***",
"extension_extensionID_Language": "N"
}
问题在于,当我们要求进行电子邮件验证时,由于未设置邮件字段,因此失败了。如果我们尝试设置此值,则API返回此字段为只读
{
"odata.error": {
"code": "Request_BadRequest",
"message": {
"lang": "en",
"value": "Property 'mail' is read-only and cannot be set."
},
"requestId": "97b360eb-052e-4c16-8706-468b72ae1ebe",
"date": "2019-10-11T10:50:01"
}
}
我们尝试使用较新的Microsoft Graph Api并研究Powershell脚本。
使用powershell,我可以将其读取为 StrongAuthenticationUserDetails ,但无法进行设置。
我们正在考虑的一些选择是:
最后一个选项需要大量的工作,从财务上来讲不是一个选择。
有人对我们如何做到/解决这个问题有一些想法吗?