Есть ли способ пропустить или скрыть выходную заявку от унаследованной политики? - PullRequest
0 голосов
/ 17 апреля 2020

В настоящее время у меня есть две политики RP, которые наследуются от политики TrustFrameworkExtensions и используют один и тот же UserJourney.

Проблема, с которой я сталкиваюсь, заключается в том, что для одной политики мне нужно, чтобы определенные выходные утверждения не включались, а для другой включались.

Документация Azure Ad B2 C указывает только на то, что у нас есть возможность перезаписывать унаследованные элементы, но не указывает, как ее пропустить, если это возможно.

<TechnicalProfile Id="GatherBasicInformation">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="email" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="newPassword" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="reenterPassword" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="givenName" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="surName" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="country" Required="true" />
            <OutputClaim ClaimTypeReferenceId="extension_Consent" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="extension_AccountType" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="objectId"/>
            <OutputClaim ClaimTypeReferenceId="DisplayValidateMessage" DefaultValue="true"/>
            <OutputClaim ClaimTypeReferenceId="newUser"/>
          </OutputClaims>
          <ValidationTechnicalProfiles>
            <ValidationTechnicalProfile ReferenceId="WriteBasicInformation"/>
            <ValidationTechnicalProfile ReferenceId="EmailVerification-SendLink"/>
          </ValidationTechnicalProfiles>
          <IncludeTechnicalProfile ReferenceId="StepLayout"/>
        </TechnicalProfile>

Два выходных утверждения, которые мне нужно удалить из одного RP, это extension_consent и extension_accountType.

Я попытался удалить их из базового технического профиля и добавить их в политику RP напрямую как перезаписывающий, но он перемещает утверждения в верхнюю часть списка, а не в нижнюю, где они мне нужны.

Есть ли способ пропустить или скрыть определенные выходные утверждения?

1 Ответ

0 голосов
/ 18 апреля 2020

Вы не можете пропустить выходные данные или удалить что-либо путем переопределения. Переопределение всегда является операцией слияния.

Используйте концепцию IncludeTechnicalProfile. Вам понадобится 2 отдельных путешествия пользователя и соответствующая ссылка на технический профиль в каждом путешествии. Затем t ie соответствующий идентификатор поездки пользователя к файлам 2 RP.

<TechnicalProfile Id="GatherBasicInformationMinimum">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="email" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="newPassword" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="reenterPassword" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="givenName" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="surName" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="country" Required="true" />
            <OutputClaim ClaimTypeReferenceId="objectId"/>
            <OutputClaim ClaimTypeReferenceId="DisplayValidateMessage" DefaultValue="true"/>
            <OutputClaim ClaimTypeReferenceId="newUser"/>
          </OutputClaims>
          <IncludeTechnicalProfile ReferenceId="StepLayout"/>
        </TechnicalProfile>
<TechnicalProfile Id="GatherBasicInformationAnd2Claims">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="extension_Consent" Required="true"/>
            <OutputClaim ClaimTypeReferenceId="extension_AccountType" Required="true"/>
          </OutputClaims>
          <ValidationTechnicalProfiles>
            <ValidationTechnicalProfile ReferenceId="WriteBasicInformation"/>
            <ValidationTechnicalProfile ReferenceId="EmailVerification-SendLink"/>
          </ValidationTechnicalProfiles>
          <IncludeTechnicalProfile ReferenceId="GatherBasicInformationMinimum"/>
        </TechnicalProfile>
...