Subbelevingen

Subtrajecten kunnen worden gebruikt om de stroom van indelingsstappen binnen een gebruikerstraject te organiseren en te vereenvoudigen. Met gebruikersbelevingen worden expliciete paden opgegeven waarmee een op claims gebaseerde toepassing de gewenste claims voor een gebruiker kan verkrijgen. De gebruiker wordt door deze paden geleid om de claims op te halen die aan de Relying Party moeten worden gepresenteerd. Met andere woorden, gebruikerstrajecten definiëren de bedrijfslogica van wat een eindgebruiker doorloopt terwijl de Azure AD B2C Identity Experience Framework de aanvraag verwerkt. Een gebruikerstraject wordt weergegeven als een indelingsreeks die moet worden gevolgd voor een geslaagde transactie. Het element ClaimsExchange van een indelingsstap is gekoppeld aan één technisch profiel dat wordt uitgevoerd.

Een subtraject is een groepering van indelingsstappen die op elk moment binnen een gebruikerstraject kunnen worden aangeroepen. U kunt subtrajecten gebruiken om herbruikbare stappenreeksen te maken of vertakkingen te implementeren om de bedrijfslogica beter weer te geven.

Vertakking van gebruikerstraject

Subtrajecten gedragen zich als gebruikerstrajecten, omdat beide worden weergegeven als een indelingsreeks die moet worden gevolgd voor een geslaagde transactie. Gebruikerstrajecten kunnen zelf worden aangeroepen en vereisen een SendClaims-stap om uit te voeren. Subtrajecten zijn onderdelen van gebruikerstrajecten en kunnen niet onafhankelijk worden aangeroepen en worden altijd aangeroepen vanuit een gebruikerstraject.

Het belangrijkste onderdeel van vertakkingen is om betere verwerking van bedrijfslogica in een gebruikerstraject mogelijk te maken. Algemene indelingsstappen worden gegroepeerd in afzonderlijke stukken die afzonderlijk worden aangeroepen. Een subtraject kan een traject vereenvoudigen waarbij meerdere indelingsstappen aan elkaar zijn gekoppeld (met dezelfde voorwaarden). Een subtraject wordt alleen aangeroepen vanuit een gebruikerstraject, het mag geen ander subtraject aanroepen.

Er zijn twee soorten subtrajecten:

  • Aanroepen : retourneert het besturingselement naar de beller. Het subtraject wordt uitgevoerd en vervolgens wordt het besturingselement teruggeleid naar de indelingsstap die momenteel wordt uitgevoerd binnen het gebruikerstraject.
  • Overdracht : hiermee wordt het besturingselement overgedragen naar het subtraject (onomkeerbare vertakking). Het subtraject moet een SendClaims-stap hebben om de claims terug te sturen naar de relying party-toepassing.

Voorbeeldscenario's

Subtraject bellen

Een gesprekssubtraject is handig in de volgende scenario's:

  • Leeftijdsbeperking: Voor leeftijdsbeperking zijn er veel gedeelde onderdelen tussen de gebruikerstrajecten. Met vertakking kunnen de algemene elementen worden gecompileerd in deelbare onderdelen.
  • Ouderlijke toestemming: Vertakking biedt gemak in het ontwerp van ouderlijke toestemming door ons toegang te geven tot claims van de gebruikersbeleving die de minderjarige heeft uitgevoerd, samen met de mogelijkheid om in een gebruikerstraject met ouderlijke toestemming te vertakken nadat de gebruiker toestemming vereist heeft gevonden.
  • Registreren om u aan te melden: denk aan een scenario waarin een gebruiker al in de directory bestaat, maar mogelijk is vergeten dat deze in feite een account heeft gemaakt. In een dergelijk geval kan het wenselijk zijn dat in plaats van de gebruiker te vertellen dat de ingevoerde referenties al bestaan en de gebruiker wordt gedwongen het traject opnieuw te starten, het beleid een overstap kan uitvoeren van een registratiestroom naar een aanmeldingsstroom voor die gebruiker.

Subtraject overdragen

Een overdrachtssubtraject is handig in de volgende scenario's:

  • Een blokpagina weergeven.
  • A/B-tests door de aanvraag te routeren naar een subtraject om een token uit te voeren en uit te geven.

Een SubJourneys-element toevoegen

Hier volgt een voorbeeld van een SubJourney element van het type Call, waarmee het besturingselement wordt teruggezet naar het gebruikerstraject.

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

Hier volgt een voorbeeld van een SubJourney element van het type Transfer, dat een token retourneert naar de relying party-toepassing.

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

Een subtrajectstap aanroepen

Er wordt een nieuwe indelingsstap van het type InvokeSubJourney gebruikt om een subtraject uit te voeren. Hier volgt een voorbeeld van alle uitvoeringselementen van deze indelingsstap.

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

Onderdelen

Als u de subtrajecten wilt definiëren die door het beleid worden ondersteund, voegt u een SubJourneys-element toe onder het element op het hoogste niveau van het beleidsbestand.

Het element SubJourneys bevat het volgende element:

Element Instanties Description
SubJourney 1:n Een subtraject dat alle constructies definieert die nodig zijn voor een volledige gebruikersstroom.

Het element SubJourneys bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
Id Yes De subtraject-id die door het gebruikerstraject kan worden gebruikt om te verwijzen naar het subtraject in het beleid. Het element SubJourneyReferenceId van het element Candidate verwijst naar dit kenmerk.
Type Yes Mogelijke waarden: Call of Transfer. Zie Vertakking van gebruikerstrajecten voor meer informatie

Het element SubJourney bevat het volgende element:

Element Instanties Description
OrchestrationSteps 1:n Een indelingsreeks die moet worden gevolgd voor een geslaagde transactie. Elk gebruikerstraject bestaat uit een geordende lijst met indelingsstappen die op volgorde worden uitgevoerd. Als een stap mislukt, mislukt de transactie.

OrchestrationSteps

Zie UserJourneys voor de volledige lijst met indelingsstapelementen.

Volgende stappen

Meer informatie over UserJourneys