Dílčí cesty
Dílčí cesty je možné použít k uspořádání a zjednodušení toku kroků orchestrace v rámci cesty uživatele. Cesty uživatelů určují explicitní cesty, prostřednictvím kterých zásady umožňují aplikaci přijímající strany získat pro uživatele požadované deklarace identity. Uživatel těmito cestami získá deklarace identity, které se mají předložit přijímající straně. Jinými slovy, cesty uživatelů definují obchodní logiku toho, čím koncový uživatel prochází, protože rozhraní prostředí identit Azure AD B2C zpracovává požadavek. Cesta uživatele je reprezentována jako sekvence orchestrace, kterou je nutné projít pro úspěšnou transakci. Element ClaimsExchange kroku orchestrace je svázán s jedním technickým profilem , který se provádí.
Dílčí cesta je seskupení kroků orchestrace, které je možné vyvolat v libovolném bodě cesty uživatele. Dílčí cesty můžete použít k vytvoření opakovaně použitelných sekvencí kroků nebo implementaci větvení, které lépe reprezentují obchodní logiku.
Větvení cesty uživatele
Dílčí cesty se chovají jako uživatelské cesty, protože obě jsou reprezentovány jako sekvence orchestrace, kterou je nutné projít, aby byla transakce úspěšná. Cesty uživatelů je možné vyvolat samostatně a ke spuštění vyžadují krok SendClaims. Dílčí cesty jsou součástí uživatelských cest a nelze je vyvolat nezávisle a vždy se volají z cesty uživatele.
Klíčovou součástí větvení je umožnit lepší zpracování obchodní logiky na cestě uživatele. Běžné kroky orchestrace jsou seskupené do jednotlivých částí, které se vyvolávají samostatně. Dílčí cesta může zjednodušit cestu, kde je více kroků orchestrace spojeno dohromady (se stejnými předpoklady). Dílčí cesta se volá jenom z cesty uživatele, neměla by volat jinou dílčí cestu.
Existují dva typy dílčích cest:
- Volání – vrátí řízení volajícímu. Dílčí cesta se spustí a řízení se vrátí do kroku orchestrace, který se aktuálně provádí v rámci cesty uživatele.
- Transfer – přenese řízení na dílčí cestu (nevratné větvení). Dílčí cesta musí obsahovat krok SendClaims, aby se deklarace identity vrátily zpět do aplikace předávající strany.
Příklady scénářů
Volání dílčí cesty
Dílčí cesta k volání je užitečná v následujících scénářích:
- Age Gating: Pro age gating existuje mnoho sdílených komponent mezi cestami uživatelů. Větvení umožňuje zkompilovat společné elementy do komponent s možnostmi, které lze rozdělit.
- Souhlas rodiče: Větvení umožňuje usnadnění návrhu souhlasu rodiče tím, že nám umožňuje přistupovat k nárokům z cesty uživatele, které nezletilé osoby provedly, spolu s možností větvení na cestu uživatele se souhlasem rodiče po zjištění, že uživatel vyžaduje souhlas.
- Zaregistrujte se a přihlaste se: Představte si scénář, kdy uživatel už v adresáři existuje, ale možná zapomněl, že si ve skutečnosti vytvořil účet. V takovém případě může být žádoucí, aby místo oznámení uživateli, že zadané přihlašovací údaje již existují, a vynucení restartování cesty, kdy je zásada schopna provést přechod z toku registrace na tok přihlášení pro daného uživatele.
Převod dílčí cesty
Dílčí cesta převodu je užitečná v následujících scénářích:
- Zobrazuje se stránka bloku.
- Testování A/B směrováním požadavku na dílčí cestu za účelem provedení a vydání tokenu
Přidání elementu SubJourneys
Následuje příklad SubJourney
prvku typu Call
, který vrací řízení zpět na cestu uživatele.
<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>
Následuje příklad SubJourney
prvku typu Transfer
, který vrací token zpět do aplikace předávající strany.
<SubJourneys>
<SubJourney Id="B" Type="Transfer">
<OrchestrationSteps>
...
<OrchestrationStep Order="5" Type="SendClaims">
</OrchestrationSteps>
</SubJourney>
</SubJourneys>
Vyvolání dílčího kroku cesty
K provedení dílčí cesty se používá nový krok orchestrace typu InvokeSubJourney
. Následuje příklad znázorňující všechny prvky provádění tohoto kroku orchestrace.
<OrchestrationStep Order="5" Type="InvokeSubJourney">
<JourneyList>
<Candidate SubJourneyReferenceId="ConditionalAccess_Evaluation" />
</JourneyList>
</OrchestrationStep>
Komponenty
Pokud chcete definovat dílčí cesty podporované zásadou, přidejte do elementu nejvyšší úrovně v souboru zásad element SubJourneys .
Element SubJourneys obsahuje následující element:
Prvek | Výskyty | Description |
---|---|---|
Podnájemní | 1:n | Dílčí cesta, která definuje všechny konstrukce nezbytné pro úplný tok uživatele. |
Element SubJourneys obsahuje následující atributy:
Atribut | Povinné | Popis |
---|---|---|
Id | Yes | Identifikátor dílčí cesty, který může cesta uživatele použít k odkazování na dílčí cestu v zásadě. Element SubJourneyReferenceIdprvku Candidate odkazuje na tento atribut. |
Typ | Yes | Možné hodnoty: Call , nebo Transfer . Další informace najdete v tématu Větvení cesty uživatele. |
Element SubJourney obsahuje následující element:
Prvek | Occurrences | Description |
---|---|---|
Kroky orchestrace | 1:n | Sekvence orchestrace, která musí být sledována pro úspěšnou transakci. Každá cesta uživatele se skládá z seřazeného seznamu kroků orchestrace, které se provádějí postupně. Pokud některý krok selže, transakce selže. |
OrchestrationSteps
Úplný seznam prvků kroku orchestrace najdete v tématu UserJourneys.
Další kroky
Další informace o userJourneys