Compartilhar via


Subpercurso do usuário

O subpercurso do usuário pode ser usado para organizar e simplificar o fluxo de etapas de orquestração do percurso do usuário. Percursos do usuário especificam caminhos explícitos por meio dos quais uma política permite que um aplicativo de terceira parte confiável obtenhas as declarações desejadas para um usuário. O usuário passa por esses caminhos para recuperar as declarações que devem ser apresentadas para a terceira parte confiável. Em outras palavras, os percursos do usuário definem a lógica de negócios pela qual o usuário final passa conforme o Framework de Experiência de Identidade do Azure AD B2C processa a solicitação. Um percurso do usuário é representado como uma sequência de orquestração que deve ser seguida para ter uma transação bem-sucedida. O elemento ClaimsExchange de uma etapa de orquestração está vinculado a um único perfil técnico executado.

O subpercurso do usuário é um grupo de etapas de orquestração que pode ser invocado a qualquer momento dentro de um percurso do usuário. Você pode usar subpercursos para criar sequências de etapas reutilizáveis ou implementar a ramificação para representar melhor a lógica de negócios.

Ramificação do percurso do usuário

Subpercursos do usuário se comportam como percursos do usuário, pois ambos são representados como uma sequência de orquestração que deve ser seguida para que a transação tenha êxito. Os percursos do usuário podem ser invocados por conta própria e exigir uma etapa SendClaims para serem executadas. Subpercursos do usuário são componentes de percursos do usuário. Eles não podem ser invocados isoladamente e são sempre chamados a partir de um percurso do usuário.

A função do componente principal da ramificação é permitir um melhor processamento de lógica de negócios em um percurso do usuário. As etapas de orquestração comuns são agrupadas em partes individuais, que serão invocadas separadamente. Subpercursos do usuário podem simplificar um percurso em que várias etapas de orquestração são acopladas (com as mesmas pré-condições). Eles são invocados apenas a partir de um percurso do usuário e não invocam outro subpercurso do usuário.

Há dois tipos de subpercurso do usuário:

  • Chamada: retorna o controle para o chamador. O subpercurso do usuário é executado e, em seguida, o controle é retornado para a etapa de orquestração que está sendo executada atualmente dentro do percurso do usuário.
  • Transferência: transfere o controle para o subpercurso do usuário (ramificação irreversível). O subpercurso do usuário deve ter uma etapa SendClaims para retornar as declarações para o aplicativo baseado em declarações.

Cenários de exemplo

Subpercursos do usuário de chamada

O subpercurso do usuário de chamada é útil nos seguintes cenários:

  • Retenção etária: para retenção etária, há muitos componentes compartilhados entre os percursos do usuário. A ramificação permite compilar os elementos comuns em componentes compartilháveis.
  • Consentimento do pai: a ramificação permite a conveniência no design do consentimento do pai ao permitir o acesso às declarações a partir do percurso do usuário que o filho executou, além da possibilidade de ramificação em um percurso do usuário de consentimento pelo pai depois de descobrir que o usuário solicita o consentimento.
  • Inscrever-se para entrar: considere um cenário em que um usuário já existe no diretório, mas que tenha se esquecido de que tem uma conta. Em vez de informar ao usuário que as credenciais inseridas já existam e forçá-lo a reiniciar a jornada, pode ser interessante informá-lo que a política é capaz de executar uma mudança de um fluxo de inscrição para um fluxo de entrada.

Subpercurso do usuário de transferência

O subpercurso do usuário de transferência é útil nos seguintes cenários:

  • Mostrar uma página de bloco.
  • Teste A/B com o roteamento da solicitação para um subpercurso do usuário para executar e emitir um token.

Adicionar um elemento SubJourneys

Veja a seguir um exemplo de um elemento SubJourney do tipo Call, que retorna o controle para o percurso do usuário.

<SubJourneys>
  <SubJourney Id="ConditionalAccess_Evaluation" Type="Call">
    <OrchestrationSteps>
      <OrchestrationStep Order="1" Type="ClaimsExchange">
       <ClaimsExchanges>
        <ClaimsExchange Id="ConditionalAccessEvaluation" TechnicalProfileReferenceId="ConditionalAccessEvaluation" />
       </ClaimsExchanges>
      </OrchestrationStep>
      <OrchestrationStep Order="2" Type="ClaimsExchange">
        <Preconditions>
          <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
            <Value>conditionalAccessClaimCollection</Value>
            <Action>SkipThisOrchestrationStep</Action>
          </Precondition>
        </Preconditions>
        <ClaimsExchanges>
          <ClaimsExchange Id="GenerateCAClaimFlags" TechnicalProfileReferenceId="GenerateCAClaimFlags" />
        </ClaimsExchanges>
      </OrchestrationStep>
    </OrchestrationSteps>
  </SubJourney>
</SubJourneys>

Veja a seguir um exemplo de um elemento SubJourney do tipo Transfer, que retorna um token para o aplicativo baseado em declarações.

<SubJourneys>
  <SubJourney Id="B" Type="Transfer">
    <OrchestrationSteps>
      ...
      <OrchestrationStep Order="5" Type="SendClaims">
    </OrchestrationSteps>
  </SubJourney>
</SubJourneys>

Invocar uma etapa de subpercurso do usuário

Uma nova etapa de orquestração do tipo InvokeSubJourney é usada para executar um subpercurso do usuário. Veja a seguir um exemplo que mostra todos os elementos de execução desta etapa de orquestração.

<OrchestrationStep Order="5" Type="InvokeSubJourney">
  <JourneyList>
    <Candidate SubJourneyReferenceId="ConditionalAccess_Evaluation" />
  </JourneyList>
</OrchestrationStep>

Componentes

Para definir os subpercursos do usuário com suporte da política, adicione um elemento SubJourneys sob o elemento de nível superior do arquivo de política.

O elemento SubJourneys contém o seguinte elemento:

Elemento Ocorrências Descrição
SubJourney 1:n Um subpercurso do usuário que define todos os constructos necessários para um fluxo do usuário completo.

O elemento SubJourneys contém os seguintes atributos:

Atributo Obrigatório Descrição
ID Sim O identificador de subpercurso do usuário que pode ser usado pelo percurso do usuário para fazer referência ao subpercurso do usuário na política. O elemento SubJourneyReferenceId do elemento Candidato aponta para este atributo.
Tipo Sim Valores possíveis: Call ou Transfer. Para obter mais informações, consulte Ramificação de percurso do usuário

O elemento SubJourneys contém os seguintes elementos:

Elemento Ocorrências Descrição
OrchestrationSteps 1:n Uma sequência de orquestração que deve ser seguida para ter uma transação bem-sucedida. Cada percurso do usuário consiste de uma lista ordenada de etapas de orquestração que são executadas em sequência. Se alguma delas falhar, a transação falhará.

OrchestrationSteps

Para ver a lista completa de elementos da etapa de orquestração, consulte UserJourneys.

Próximas etapas

Saiba mais sobre UserJourneys