仅具有“注册”页面的Azure AD B2C自定义策略

时间:2019-06-07 15:45:51

标签: azure azure-ad-b2c

我想在Azure AD B2C中创建自定义策略。我在入门包(https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack)中找不到这样的示例。

我检查了此帖子Azure AD B2C Link to Sign Up Page (Not Sign In),如果我理解正确,则没有网址,我可以使用现有的自定义signup_signin策略直接在“注册”页面中结束。创建“ Sign v2”流程是可行的,但是我需要一个自定义流程,并从其中一个构建代码来处理代码,然后将其从starterpack放置到LocalAccounts示例中。

这是从“注册v2”流程中下载的UserJourney代码

    <UserJourney Id="B2CSignUp_V2"> <OrchestrationSteps> <OrchestrationStep 
    Order="1" Type="ClaimsProviderSelection" 
    ContentDefinitionReferenceId="api.idpselections.signup"> 
    <ClaimsProviderSelections> <ClaimsProviderSelection 
    TargetClaimsExchangeId="SignUpWithLogonEmailExchange" /> 
    </ClaimsProviderSelections> </OrchestrationStep> </OrchestrationSteps> 
    </UserJourney>

我尝试将starterpack中的OrchestrationStep 1和2替换为此处的一个,但它不起作用。

2 个答案:

答案 0 :(得分:2)

或者,您可以:

  • 删除业务流程步骤1
  • 从业务流程步骤2中删除 objectId 前提条件
  • 重新编号以下编排步骤

例如:

<OrchestrationStep Order="1" Type="ClaimsExchange">
  <ClaimsExchanges>
    <ClaimsExchange Id="SignUpWithLogonEmailExchange" TechnicalProfileReferenceId="LocalAccountSignUpWithLogonEmail" />
  </ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
  <ClaimsExchanges>
    <ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
  </ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="3" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />

答案 1 :(得分:1)

在您的自定义策略中,在B2C_1A_TrustFrameworkBase.xml文件中,将用户旅程Id =“ SignUpOrSignIn”的第一个编排步骤替换为以下编排步骤,您将直接进入“注册”页面-

<OrchestrationStep Order="1" Type="ClaimsProviderSelection" ContentDefinitionReferenceId="api.idpselections.signup">
<ClaimsProviderSelections>
<ClaimsProviderSelection TargetClaimsExchangeId="SignUpWithLogonEmailExchange" />
</ClaimsProviderSelections>
</OrchestrationStep>
相关问题