В настоящее время я тестирую теорию с Azure AD B2C, которая требует обновления значения в профиле пользователя со статическим значением, которое не вводится пользователем. Я попытался пойти по пути примера редактирования профиля , но не могу заставить его работать. На этом этапе не имеет значения, какое значение я обновляю, я просто хочу иметь возможность обновить значение, я выбрал атрибут «состояние» для этого эксперимента.
У меня есть следующий шаг оркестровки в путешествии пользователя:
<OrchestrationStep Order="5" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="UpdateStateValue" TechnicalProfileReferenceId="LocalAccountUpdateStateValue" /
</ClaimsExchanges>
</OrchestrationStep>
Технические профили следующие:
<TechnicalProfile Id="LocalAccountUpdateStateValue">
<DisplayName>Update Password Set Value</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ContentDefinitionReferenceId">api.selfasserted</Item>
</Metadata>
<CryptographicKeys>
<Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
</CryptographicKeys>
<InputClaims>
<InputClaim ClaimTypeReferenceId="objectId" />
</InputClaims>
<OutputClaims>
</OutputClaims>
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="AAD-UserUpdateStateValue" />
</ValidationTechnicalProfiles>
</TechnicalProfile>
<TechnicalProfile Id="AAD-UserUpdateStateValue">
<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" />
<!-- Optional claims -->
<PersistedClaim ClaimTypeReferenceId="state" DefaultValue="CA"/>
</PersistedClaims>
<IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>
То, что я в основном пытаюсь сделать, - это каждый раз, когда пользователь в процессе обновления обновляет значение «state» до «CA», но, похоже, оно не работает. Сначала я безуспешно пытался сослаться на технический профиль «AAD-UserUpdateStateValue» напрямую, а затем перешел к чему-то более похожему на пример редактирования профиля.
Мы по общему признанию новичок в Azure B2C, поэтому любая помощь или ссылки на статьи, которые могут помочь, приветствуются.