Sub-viagens

Os sub percursos podem ser utilizados para organizar e simplificar o fluxo de passos de orquestração num percurso do utilizador. Os percursos do utilizador especificam caminhos explícitos através dos quais uma política permite que uma aplicação de entidade confiadora obtenha as afirmações desejadas para um utilizador. O utilizador utiliza estes caminhos para obter as afirmações que devem ser apresentadas à entidade confiadora. Por outras palavras, os percursos de utilizador definem a lógica de negócio do que um utilizador final passa à medida que o Azure AD B2C Identity Experience Framework processa o pedido. Um percurso do utilizador é representado como uma sequência de orquestração que tem de ser seguida para uma transação bem-sucedida. O elemento ClaimsExchange de um passo de orquestração está associado a um único perfil técnico que é executado.

Um sub percurso é um agrupamento de passos de orquestração que pode ser invocado em qualquer ponto dentro de um percurso do utilizador. Pode utilizar sub percursos para criar sequências de passos reutilizáveis ou implementar ramificações para representar melhor a lógica de negócio.

Ramificação do percurso do utilizador

Os sub percursos comportam-se como percursos do utilizador, uma vez que ambos são representados como uma sequência de orquestração que tem de ser seguida para uma transação bem-sucedida. Os percursos dos utilizadores podem ser invocados por si próprios e requerem um passo SendClaims para serem executados. Os percursos secundários são componentes dos percursos dos utilizadores e não podem ser invocados de forma independente e são sempre chamados a partir de um percurso do utilizador.

O principal componente da ramificação é permitir um melhor processamento de lógica de negócio num percurso de utilizador. Os passos de orquestração comuns são agrupados em partes individuais para serem invocados separadamente. Uma subtração pode simplificar um percurso em que vários passos de orquestração são acoplados (com as mesmas condições). Um sub percurso é chamado apenas a partir de um percurso de utilizador, não deve chamar outro sub percurso.

Existem dois tipos de subpassos:

  • Chamada – devolve o controlo ao autor da chamada. O sub percurso é executado e, em seguida, o controlo é devolvido ao passo de orquestração que está atualmente a ser executado no percurso do utilizador.
  • Transferência – transfere o controlo para o subtraimento (ramificação irreversível). O sub percurso tem de ter um passo SendClaims para devolver as afirmações à aplicação da entidade confiadora.

Cenários de exemplo

Ligar para o sub percurso

Um sub percurso de chamada é útil nos seguintes cenários:

  • Age Gating: para o gating etário, existem muitos componentes partilhados entre os percursos dos utilizadores. A ramificação permite compilar os elementos comuns em componentes sharable.
  • Autorização Parental: a ramificação permite a conveniência na conceção da autorização parental ao permitir-nos aceder a afirmações do percurso do utilizador que o menor executou, juntamente com a capacidade de se ramificar para um percurso de utilizador de autorização parental após encontrar o utilizador requer consentimento.
  • Inscrever-se para iniciar sessão: considere um cenário em que um utilizador já existe no diretório, mas pode ter-se esquecido de que, de facto, tinha criado uma conta. Pode ser desejável, nesse caso, que, em vez de informar o utilizador de que as credenciais que introduziu já existem e forçar o utilizador a reiniciar o percurso em que a política é capaz de efetuar uma mudança de um fluxo de inscrição para um fluxo de início de sessão para esse utilizador.

Transferir subpasso

Um sub percurso de Transferência é útil nos seguintes cenários:

  • A mostrar uma página de bloco.
  • Teste A/B ao encaminhar o pedido para um sub percurso para executar e emitir um token.

Adicionar um elemento SubJourneys

Segue-se um exemplo de um SubJourney elemento do tipo Call, que devolve o controlo de volta ao percurso do utilizador.

<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>

Segue-se um exemplo de um SubJourney elemento do tipo Transfer, que devolve um token de volta à aplicação da entidade confiadora.

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

Invocar um passo de subpasso

Um novo passo de orquestração do tipo InvokeSubJourney é utilizado para executar um sub percurso. Segue-se um exemplo que mostra todos os elementos de execução deste passo de orquestração.

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

Componentes

Para definir os sub percursos suportados pela política, adicione um elemento SubJourneys no elemento de nível superior do ficheiro de política.

O elemento SubJourneys contém o seguinte elemento:

Elemento Ocorrências Descrição
Subjourney 1:n Um sub percurso que define todas as construções necessárias para um fluxo de utilizador completo.

O elemento SubJourneys contém os seguintes atributos:

Atributo Necessário Descrição
Id Yes O identificador do sub percurso que pode ser utilizado pelo percurso do utilizador para referenciar o sub percurso na política. O elemento SubJourneyReferenceId do elemento Candidate aponta para este atributo.
Tipo Yes Valores possíveis: Callou Transfer. Para obter mais informações, veja Ramificação do percurso do utilizador

O elemento SubJourney contém o seguinte elemento:

Elemento Occurrences Descrição
OrchestrationSteps 1:n Uma sequência de orquestração que tem de ser seguida para uma transação bem-sucedida. Cada percurso de utilizador consiste numa lista ordenada de passos de orquestração que são executados em sequência. Se algum passo falhar, a transação falhará.

OrchestrationSteps

Para obter a lista completa dos elementos do passo de orquestração, veja UserJourneys.

Passos seguintes

Saiba mais sobre o UserJourneys