Я использую username
в пользовательских политиках для аутентификации, в качестве имени пользователя можно использовать либо электронную почту, либо телефон: signInNames.emailAddress
или signInNames.phoneNumber
. Теперь мне нужно включить редактирование профиля, там пользователь меняет адрес электронной почты и телефон. Проблема, которую я получаю, заключается в том, что пользователь уже существует. Позволяет ли B2 C изменить имя пользователя или что-то не так в этом профиле?
Вот технический профиль для обновления профиля:
<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>