如何使用自定义策略在Azure b2c SignUporSignIn流完成电子邮件验证后调用REST API?

zzwlnbp8  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(111)

我是Azure B2C自定义策略的新手,我只想知道如何在使用自定义策略的Azure B2C SignUporSignIn流完成电子邮件验证后调用REST API。

irtuqstp

irtuqstp1#

如果你使用Display Controls,有两个地方可以实现:
1.在AadSspr-VerifyCode之后添加额外的验证声明Exchange技术配置文件,以调用REST API技术配置文件
1.在您的LocalAccountSignUpWithLogonEmail技术配置文件上,在AAD-UserWriteUsingLogonEmail验证技术配置文件之后添加验证技术配置文件,以调用您的REST API技术配置文件。
1.在注册业务流程步骤之后添加另一个业务流程步骤,该步骤仅在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>

相关问题