Пользовательская политика Azure AD B2C только со страницей регистрации

Я хочу создать настраиваемую политику в Azure AD B2C. Я не могу найти такой пример в стартовом пакете (https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack).

Я проверил это сообщение Ссылка для подписи Azure AD B2C Страница вверх (не вход), и, если я правильно понимаю, URL-адреса нет, я могу использовать существующую настраиваемую политику signup_signin, чтобы попасть прямо на страницу регистрации. Создание потока «Sign up v2» работает, но мне нужен собственный, а копирование кода из сборки в одну и размещение его в примере LocalAccounts из стартового пакета не работает.

Это код UserJourney, загруженный из потока «Регистрация v2».

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

Я попытался заменить OrchestrationStep 1 и 2 из стартового пакета на приведенный здесь, но это не сработало.


person user3090407    schedule 07.06.2019    source источник


Ответы (2)


В ваших пользовательских политиках в файле B2C_1A_TrustFrameworkBase.xml замените 1-й шаг оркестрации для User Journey Id = "SignUpOrSignIn" следующим шагом оркестрации, и вы попадете прямо на страницу регистрации -

<OrchestrationStep Order="1" Type="ClaimsProviderSelection" ContentDefinitionReferenceId="api.idpselections.signup">
<ClaimsProviderSelections>
<ClaimsProviderSelection TargetClaimsExchangeId="SignUpWithLogonEmailExchange" />
</ClaimsProviderSelections>
</OrchestrationStep>
person MA0608    schedule 07.06.2019
comment
Да, но по какой-то причине это не работает. Есть ли у вас какие-нибудь предложения, почему это не так? - person Mustafamg; 08.10.2019
comment
@Mustafamg У меня это сработало. Можете ли вы написать, какую политику из стартового пакета вы использовали в качестве отправной точки. - person user3090407; 14.11.2019
comment
Это тоже сработало для меня, но я скопировал и вставил существующую политику SignUpOrSignIn в новую политику SignUp (обязательно присвоив ей уникальные PolicyId и PublicPolicyUri), а затем в TrustFrameworkExtensions скопировал и вставил UserJourney для SignUpOrSignIn, переименовав его в SignUp и выполнил замену шага 1, предложенную выше. - person Martin Rhodes; 03.03.2020

В качестве альтернативы вы можете:

  • Удаление шага 1 оркестровки
  • Удалите предварительное условие objectId из шага 2 оркестровки.
  • Перенумеровать следующие шаги оркестрации

Такие как:

<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" />
person Chris Padgett    schedule 08.06.2019
comment
После вашего комментария я получаю эту ошибку: B2C_1A_TRUSTFRAMEWORKEXTENSIONS клиента neogeo.onmicrosoft.com. Путь пользователя SignUpOrSignIn в политике B2C_1A_TrustFrameworkExtensions клиента neogeo.onmicrosoft.com имеет 2 шага sendClaims. Укажите для атрибута DefaultCpimIssuerTechnicalProfileReferenceId значение идентификатора ссылки технического профиля эмитента по умолчанию. - person user3090407; 10.06.2019
comment
На самом деле есть 3 ошибки. Вот два вторых: Путь пользователя SignUpOrSignIn в политике B2C_1A_TrustFrameworkExtensions клиента neogeo.onmicrosoft.com имеет шаг 1 с двумя обменами претензиями. Ему должен предшествовать выбор поставщика утверждений, чтобы определить, какой обмен утверждениями можно использовать. Путь пользователя SignUpOrSignIn в политике B2C_1A_TrustFrameworkExtensions клиента neogeo.onmicrosoft.com имеет шаг 2 с двумя обменами утверждениями. Ему должен предшествовать выбор поставщика утверждений, чтобы определить, какой обмен утверждениями можно использовать. - person user3090407; 10.06.2019
comment
Привет @ user3090407. Я обновил приведенный выше ответ, добавив все шаги оркестрации после, следуя альтернативным инструкциям. Соответствуют ли они вашим шагам оркестровки? - person Chris Padgett; 11.06.2019
comment
Да, это 3 шага, которые у меня есть. Это работает только в том случае, если у меня есть в качестве первого шага: ‹OrchestrationStep Order = 1 Type = ClaimsProviderSelection ContentDefinitionReferenceId = api.idpselections.signup› ‹ClaimsProviderSelections› ‹StepClaimsProviderSelection TargetClaimsExchangeId = SignUpWithLogonSelection ›› - person user3090407; 11.06.2019