Ovládací prvky zobrazení
Poznámka:
V Azure Active Directory B2C jsou vlastní zásady navržené především pro řešení složitých scénářů. Ve většině scénářů doporučujeme používat integrované toky uživatelů. Pokud jste to neudělali, přečtěte si informace o úvodním balíčku vlastních zásad v tématu Začínáme s vlastními zásadami ve službě Active Directory B2C.
Ovládací prvek zobrazení je prvek uživatelského rozhraní, který má speciální funkce a komunikuje s back-endovou službou Azure Active Directory B2C (Azure AD B2C). Umožňuje uživateli provádět akce na stránce, které vyvolávají technický profil ověření na back-endu. Ovládací prvky zobrazení jsou zobrazeny na stránce a jsou odkazovány vlastním kontrolním technickým profilem.
Požadavky
V části Metadata technického profilu s vlastním kontrolním výrazem musí být DataUri
odkazovaná vlastnost ContentDefinition nastavená na verzi kontraktu stránky 2.1.9 nebo vyšší. Příklad:
<ContentDefinition Id="api.selfasserted">
<LoadUri>~/tenant/default/selfAsserted.cshtml</LoadUri>
<RecoveryUri>~/common/default_page_error.html</RecoveryUri>
<DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:2.1.9</DataUri>
...
Definování ovládacích prvků zobrazení
Element DisplayControl obsahuje následující atributy:
Atribut | Požadováno | Popis |
---|---|---|
Id |
Ano | Identifikátor, který se používá pro ovládací prvek zobrazení. Dá se na něj odkazovat. |
UserInterfaceControlType |
Ano | Typ ovládacího prvku zobrazení. Aktuálně se podporuje Ovládací prvky VerificationControl, TOTP a CAPTCHA. |
Kontrola ověření
Ovládací prvek zobrazení ověření ověřuje deklarace identity, například e-mailovou adresu nebo telefonní číslo, s ověřovacím kódem odeslaným uživateli. Následující obrázek znázorňuje stránku samoobslužné registrace se dvěma ovládacími prvky zobrazení, které ověřují primární a sekundární e-mailovou adresu.
Ovládací prvky TOTP
Ovládací prvky zobrazení TOTP jsou sada ovládacích prvků zobrazení, které poskytují vícefaktorové ověřování TOTP v aplikaci Microsoft Authenticator. Následující obrázek znázorňuje stránku registrace TOTP se třemi ovládacími prvky zobrazení.
QrCodeControl
Element DisplayControl obsahuje následující prvky:
Element (Prvek) | Výskyty | Popis |
---|---|---|
InputClaims |
0:1 | InputClaims slouží k předběžnému naplnění hodnoty deklarací identity, které se mají shromažďovat od uživatele. Další informace naleznete v tématu InputClaims element. |
DisplayClaims |
0:1 | DisplayClaims slouží k reprezentaci deklarací identity, které se mají shromažďovat od uživatele. Další informace naleznete v tématu DisplayClaim element. |
OutputClaims |
0:1 | OutputClaims slouží k reprezentaci deklarací identity, které se mají dočasně uložit pro tento DisplayControl. Další informace naleznete v tématu OutputClaims element. |
Actions |
0:1 | Akce se používají k výpisu technických profilů ověření, které se dají vyvolat pro akce uživatelů, ke které dochází na front-endu. |
Vstupní deklarace identity
V ovládacím prvku zobrazení můžete použít elementy InputClaims k předběžnému naplnění hodnoty deklarací identity, které mají být shromažďovány od uživatele na stránce. Všechny InputClaimsTransformations lze definovat v samostatném technickém profilu, který odkazuje na tento ovládací prvek zobrazení.
Následující příklad předem naplní e-mailovou adresu, která se má ověřit pomocí adresy, která už existuje.
<DisplayControl Id="emailControl" UserInterfaceControlType="VerificationControl">
<InputClaims>
<InputClaim ClaimTypeReferenceId="emailAddress" />
</InputClaims>
...
Zobrazení deklarací identity
Každý typ ovládacího prvku zobrazení vyžaduje jinou sadu deklarací identity zobrazení, výstupních deklarací identity a akcí , které se mají provést.
Podobně jako u zobrazovaných deklarací identity definovaných v technickém profilu s vlastním uplatněním představují deklarace identity, které se mají shromažďovat od uživatele v ovládacím prvku zobrazení. Element ClaimType, na který odkazuje, musí zadat element UserInputType pro typ vstupu uživatele podporovaný službou Azure AD B2C, například TextBox
nebo DropdownSingleSelect
. Pokud akce vyžaduje zobrazovanou hodnotu deklarace identity, nastavte atribut Required tak, aby true
vynutil uživateli zadat hodnotu pro tuto konkrétní zobrazovanou deklaraci identity.
Určité deklarace identity zobrazení jsou vyžadovány pro určité typy ovládacích prvků zobrazení. Například Ověřovací kód je vyžadován pro ovládací prvek zobrazení typu VerificationControl. Pomocí atributu ControlClaimType určete, který DisplayClaim je určen pro tuto požadovanou deklaraci identity. Příklad:
<DisplayClaim ClaimTypeReferenceId="otpCode" ControlClaimType="VerificationCode" Required="true" />
Výstupní deklarace identity
Výstupní deklarace identity ovládacího prvku zobrazení se neodesílají do dalšího kroku orchestrace. Ukládají se dočasně pouze pro aktuální relaci ovládacího prvku zobrazení. Tyto dočasné deklarace identity je možné sdílet mezi různými akcemi stejného ovládacího prvku zobrazení.
Pokud chcete vytvořit bublinu výstupních deklarací identity k dalšímu kroku orchestrace, použijte OutputClaims skutečného technického profilu, který odkazuje na tento ovládací prvek zobrazení.
Zobrazit akce ovládacího prvku
Akce ovládacího prvku zobrazení jsou procedury, ke kterým dochází v back-endu Azure AD B2C, když uživatel provede určitou akci na straně klienta (prohlížeč). Například ověření, která se mají provést, když uživatel vybere tlačítko na stránce.
Akce definuje seznam technických profilů ověření. Slouží k ověřování některých nebo všech deklarací zobrazovaných deklarací ovládacího prvku zobrazení. Technický profil ověření ověří vstup uživatele a může uživateli vrátit chybu. ContinueOnError, ContinueOnSuccess a Předběžné podmínky můžete použít v akci ovládacího prvku zobrazení podobně jako v ověřovacích technických profilech v technickém profilu s vlastním kontrolním výrazem.
Akce
Element Actions obsahuje následující prvek:
Element (Prvek) | Výskyty | Popis |
---|---|---|
Action |
1:n | Seznam akcí, které se mají provést |
Akce
Element Action obsahuje následující atribut:
Atribut | Požadováno | Popis |
---|---|---|
Id |
Ano | Typ operace. Možné hodnoty: SendCode nebo VerifyCode . Tato SendCode hodnota odešle uživateli kód. Tato akce může obsahovat dva technické profily ověření: jeden pro vygenerování kódu a jeden pro jeho odeslání. Hodnota VerifyCode ověří kód, který uživatel zadal do vstupního textového pole. |
Element Action obsahuje následující prvek:
Element (Prvek) | Výskyty | Popis |
---|---|---|
ValidationClaimsExchange |
1:1 | Identifikátory technických profilů, které slouží k ověření některých nebo všech zobrazovaných deklarací identity odkazujícího technického profilu. Všechny vstupní deklarace identity odkazovaného technického profilu musí být uvedeny v zobrazovaných deklarací identity odkazujícího technického profilu. |
ValidationClaimsExchange
Element ValidationClaimsExchange obsahuje následující prvek:
Element (Prvek) | Výskyty | Popis |
---|---|---|
ValidationClaimsExchangeTechnicalProfile |
1:n | Technický profil, který se má použít k ověření některých nebo všech zobrazovaných deklarací identity odkazujícího technického profilu. |
Element ValidationClaimsExchangeTechnicalProfile obsahuje následující atribut:
Atribut | Požadováno | Popis |
---|---|---|
TechnicalProfileReferenceId |
Ano | Identifikátor technického profilu, který už je definován v zásadách nebo nadřazených zásadách. |
Element ValidationClaimsExchangeTechnicalProfile obsahuje následující prvek:
Element (Prvek) | Výskyty | Popis |
---|---|---|
Preconditions |
0:1 | Seznam předpokladů, které musí být splněny pro provedení technického profilu ověření. |
Element Předběžné podmínky obsahuje následující atributy:
Atribut | Požadováno | Popis |
---|---|---|
Type |
Ano | Typ kontroly nebo dotazu, který se má provést pro předběžnou podmínku. Možné hodnoty: ClaimsExist nebo ClaimEquals . ClaimsExist určuje, že akce by se měly provést, pokud zadané deklarace identity existují v aktuální sadě deklarací identity uživatele. ClaimEquals Určuje, že akce by se měly provést, pokud zadaná deklarace identity existuje a její hodnota je rovna zadané hodnotě. |
ExecuteActionsIf |
Ano | Určuje, zda se mají provést akce v předpokladu, pokud je test pravdivý nebo nepravdivý. |
Předběžný prvek obsahuje následující prvky:
Element (Prvek) | Výskyty | Popis |
---|---|---|
Value |
1:n | Data používaná kontrolou. Pokud je ClaimsExist typ této kontroly, toto pole určuje ClaimTypeReferenceId, pro který se má dotazovat. Pokud je ClaimEquals typ kontroly, toto pole určuje ClaimTypeReferenceId, pro který se má dotazovat. Zadejte hodnotu, která má být vrácena se změnami v jiném prvku hodnoty. |
Action |
1:1 | Akce, která by se měla provést, pokud je splněna předběžná kontrola v rámci kroku orchestrace. Hodnota akce je nastavena na SkipThisValidationTechnicalProfile hodnotu , která určuje, že přidružený ověřovací technický profil by neměl být proveden. |
Následující příklad odešle a ověří e-mailovou adresu pomocí technického profilu Microsoft Entra ID SSPR.
<DisplayControl Id="emailVerificationControl" UserInterfaceControlType="VerificationControl">
<InputClaims></InputClaims>
<DisplayClaims>
<DisplayClaim ClaimTypeReferenceId="email" Required="true" />
<DisplayClaim ClaimTypeReferenceId="verificationCode" ControlClaimType="VerificationCode" Required="true" />
</DisplayClaims>
<OutputClaims></OutputClaims>
<Actions>
<Action Id="SendCode">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-SendCode" />
</ValidationClaimsExchange>
</Action>
<Action Id="VerifyCode">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-VerifyCode" />
</ValidationClaimsExchange>
</Action>
</Actions>
</DisplayControl>
Následující příklad odešle kód e-mailem nebo SMS na základě výběru deklarace mfaType uživatele s předpoklady.
<Action Id="SendCode">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AzureMfa-SendSms">
<Preconditions>
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>mfaType</Value>
<Value>email</Value>
<Action>SkipThisValidationTechnicalProfile</Action>
</Precondition>
</Preconditions>
</ValidationClaimsExchangeTechnicalProfile>
<ValidationClaimsExchangeTechnicalProfile TechnicalProfileReferenceId="AadSspr-SendEmail">
<Preconditions>
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>mfaType</Value>
<Value>phone</Value>
<Action>SkipThisValidationTechnicalProfile</Action>
</Precondition>
</Preconditions>
</ValidationClaimsExchangeTechnicalProfile>
</ValidationClaimsExchange>
</Action>
Odkazování na ovládací prvky zobrazení
Ovládací prvky zobrazení se odkazují na deklarace identity zobrazení technického profilu s vlastním kontrolním výrazem.
Příklad:
<TechnicalProfile Id="SelfAsserted-ProfileUpdate">
...
<DisplayClaims>
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
<DisplayClaim DisplayControlReferenceId="PhoneVerificationControl" />
<DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
<DisplayClaim ClaimTypeReferenceId="givenName" Required="true" />
<DisplayClaim ClaimTypeReferenceId="surName" Required="true" />
Další kroky
Ukázky použití ovládacího prvku zobrazení najdete tady: