我是 Azure B2C 自定义策略的新手,我只是想知道在使用自定义策略通过 azure b2c SignUporSignIn 流程完成电子邮件验证后如何调用 REST API。
最佳答案
如果您使用Display Controls ,有两个地方可以实现这一点:
添加一个额外的 Validation Claims Exchange Technical Profile在
AadSspr-VerifyCode
之后调用您的 REST API 技术配置文件在您的
LocalAccountSignUpWithLogonEmail
技术配置文件中,添加 Validation Technical Profile在AAD-UserWriteUsingLogonEmail
验证技术配置文件之后调用您的 REST API 技术配置文件。在“注册”编排步骤之后添加另一个编排步骤,该步骤仅在
newUser
声明设置为 true 时执行。
如果您不使用显示控件,则只能使用第 2 点和第 3 点。
显示声明示例(第 1 点):
<DisplayControl Id="emailVerificationControl" UserInterfaceControlType="VerificationControl">
...
<Actions>
<Action Id="SendCode">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-SendCode" />
</ValidationClaimsExchange>
</Action>
<Action Id="VerifyCode">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-VerifyCode" />
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="REST-OnEmailVerified" />
</ValidationClaimsExchange>
</Action>
</Actions>
</DisplayControl>
本地帐户注册验证技术简介(第 2 点):
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
<DisplayName>Email signup</DisplayName>
...
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail" />
<ValidationTechnicalProfile ReferenceId="REST-OnEmailVerified" />
</ValidationTechnicalProfiles>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
</TechnicalProfile>
编排步骤示例(第 3 点):
<OrchestrationStep Order="3" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="true">
<Value>newUser</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
<Precondition Type="ClaimEquals" ExecuteActionsIf="false">
<Value>newUser</Value>
<Value>True</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="OnNewUserCreated" TechnicalProfileReferenceId="REST-OnEmailVerified" />
</ClaimsExchanges>
</OrchestrationStep>
关于azure - 使用自定义策略通过 azure b2c SignUporSignIn 流程完成电子邮件验证后,如何调用 REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77246105/