在B2C自定义策略中,ValidationTechnicalProfile未执行的问题可能是由于缺少或错误配置导致的。您需要确保在UserJourney中正确配置ValidationTechnicalProfile。例如:
<UserJourney>
<OrchestrationSteps>
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
<ClaimsProviderSelection TargetClaimsExchangeId="FacebookExchange" />
<ClaimsProviderSelection TargetClaimsExchangeId="SignUpWithLogonEmailExchange" />
</ClaimsProviderSelections>
<CombinedSignInAndSignUp>
<AllActions />
<AllContentDefinitions />
<Action Id="CheckEmail" Type="Validation" />
</CombinedSignInAndSignUp>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" />
</OutputClaims>
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail" />
</ValidationTechnicalProfiles>
</OrchestrationStep>
<!-- Validation Technical Profile, executed after the previous orchestration step -->
<OrchestrationStep Order="2" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="false">
<Value>emailVerified</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="CheckEmailVerified" TechnicalProfileReferenceId="CheckEmailVerified" />
</ClaimsExchanges>
</OrchestrationStep>
</OrchestrationSteps>
<ClientDefinition ReferenceId="DefaultWeb" />
</UserJourney>
在这个例子中,我们配置了一个CombinedSignInAndSignUp步骤,其中我们设置了一个Validation类型的Action以检查电子邮件是否有效。我们还在ValidationTechnicalProfiles元素中引用了一个AAD-UserWriteUsingLogonEmail技术配置文件。
请确保您的UserJourney中正确配置了ValidationTechnicalProfile,您还可以通过查看应用