我在自定义策略中使用username
进行身份验证,电子邮件或电话都可以用作用户名:signInNames.emailAddress
或signInNames.phoneNumber
。现在我需要启用配置文件编辑,那里的用户可以更改电子邮件和电话。
我要到这里的问题是它说用户已经存在。 B2C是否允许更改用户名,或者此配置文件有什么问题?
以下是更新个人资料的技术资料:
<TechnicalProfile Id="AAD-UserWriteProfileUsingObjectId">
<Metadata>
<Item Key="Operation">Write</Item>
<Item Key="RaiseErrorIfClaimsPrincipalAlreadyExists">false</Item>
<Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>
</Metadata>
<IncludeInSso>false</IncludeInSso>
<InputClaims>
<InputClaim ClaimTypeReferenceId="objectId" Required="true" />
</InputClaims>
<PersistedClaims>
<!-- Required claims -->
<PersistedClaim ClaimTypeReferenceId="objectId" />
<PersistedClaim ClaimTypeReferenceId="signInNames.emailAddress" />
<PersistedClaim ClaimTypeReferenceId="signInNames.phoneNumber" />
<!-- Optional claims -->
<PersistedClaim ClaimTypeReferenceId="givenName" />
<PersistedClaim ClaimTypeReferenceId="surname" />
</PersistedClaims>
<IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>
答案 0 :(得分:0)
我已经对其进行了测试,可以成功更改用户名。
您可以参考Use the new extension property or custom attribute in a user journey进行配置。只需忽略步骤3,因为它不是自定义属性。
当我将当前用户名更改为现有用户名时,它将显示:
具有指定ID的用户已存在。请选择其他 一个。
因此请确保要修改的用户名在租户中不存在。