Definování technického profilu ověřování ve vlastních zásadách Azure Active Directory B2C
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.
Technický profil ověření je běžný technický profil z libovolného protokolu, jako je NAPŘÍKLAD MICROSOFT Entra ID nebo REST API. Technický profil ověření vrátí výstupní deklarace identity nebo vrátí stavový kód HTTP 4xx s následujícími daty. Další informace najdete v tématu vrácení chybové zprávy.
{
"version": "1.0.0",
"status": 409,
"userMessage": "Your error message"
}
Rozsah výstupních deklarací identity technického profilu ověření je omezen na technický profil , který se sám uplatňuje, který vyvolá technický profil ověření a jeho ověřovací technické profily. Pokud chcete použít výstupní deklarace identity v dalším kroku orchestrace, přidejte výstupní deklarace identity do technického profilu s vlastním potvrzením, který vyvolá technický profil ověření.
Technické profily ověřování se spouštějí v posloupnosti, která se zobrazí v elementu ValidationTechnicalProfiles . V technickém profilu ověření můžete nakonfigurovat, jestli má provádění jakýchkoli následných ověřovacích technických profilů pokračovat, pokud technický profil ověření vyvolá chybu nebo je úspěšný.
Technický profil ověření lze podmíněně provést na základě předpokladů definovaných v elementu ValidationTechnicalProfile . Můžete například zkontrolovat, jestli určitá deklarace identity existuje, nebo jestli je deklarace identity rovna zadané hodnotě nebo ne.
Technický profil s vlastním uplatněním může definovat technický profil ověření, který se má použít k ověření některých nebo všech jeho výstupních deklarací identity. Všechny vstupní deklarace identity odkazovaného technického profilu musí být uvedeny ve výstupních deklarací identity referenčního technického profilu ověření.
Poznámka:
Technické profily s vlastním kontrolním výrazem můžou používat ověřovací technické profily. Pokud potřebujete ověřit výstupní deklarace identity z technických profilů, které nejsou samoobslužné, zvažte použití dalšího kroku orchestrace na cestě uživatele k přizpůsobení technického profilu, který je zodpovědný za ověření.
Ověřovacíprofiles
Element ValidationTechnicalProfiles obsahuje následující prvky:
Element (Prvek) | Výskyty | Popis |
---|---|---|
ValidationTechnicalProfile | 1:n | Technický profil, který se má použít k ověření některých nebo všech výstupních deklarací identity odkazujícího technického profilu. |
Element ValidationTechnicalProfile obsahuje následující atribut:
Atribut | Požadováno | Popis |
---|---|---|
ReferenceId | Ano | Identifikátor technického profilu, který už je definován v zásadách nebo nadřazených zásadách. |
ContinueOnError | No | Označuje, zda by ověření jakýchkoli následných technických profilů ověření mělo pokračovat, pokud tento technický profil ověření vyvolá chybu. Možné hodnoty: true nebo false (výchozí, zpracování dalších ověřovacích profilů se zastaví a vrátí se chyba). |
ContinueOnSuccess | No | Určuje, zda má ověřování jakýchkoli následných ověřovacích profilů pokračovat, pokud bude tento technický profil ověření úspěšný. Možné hodnoty: true nebo false . Výchozí hodnota je true , což znamená, že zpracování dalších ověřovacích profilů bude pokračovat. |
Poznámka:
Pokud v současné době nastavíte ContinueOnError na false pro technický profil ověření typu ClaimsTransformation, technický profil nebude respektovat nastavení. Pokud chcete tento problém překonat, použijte místo toho předběžné podmínky.
Element ValidationTechnicalProfile obsahuje následující prvek:
Element (Prvek) | Výskyty | Popis |
---|---|---|
Předpoklady | 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í atribut:
Atribut | Požadováno | Popis |
---|---|---|
Type |
Ano | Typ kontroly nebo dotazu, který se má provést pro předběžnou podmínku. Buď ClaimsExist je zadán, aby se zajistilo, že se mají provést akce, pokud zadané deklarace identity existují v aktuální sadě deklarací identity uživatele, nebo ClaimEquals je zadáno, že akce by se měly provést, pokud zadaná deklarace existuje a její hodnota se rovná 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 |
---|---|---|
Hodnota | 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. Zatímco jiný prvek hodnoty obsahuje hodnotu, kterou chcete zkontrolovat. |
Akce | 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 . Určuje, že by se neměl provést přidružený technický profil ověření. |
Příklad
Následující příklad používá tyto technické profily ověřování:
- První ověřovací technický profil zkontroluje přihlašovací údaje uživatele a nepokračuje, pokud dojde k chybě, například neplatné uživatelské jméno nebo chybné heslo.
- Další technický profil ověření se nespustí, pokud deklarace identity userType neexistuje nebo pokud je
Partner
hodnota userType . Technický profil ověření se pokusí přečíst profil uživatele z interní databáze zákazníka a pokračovat v případě, že dojde k chybě, jako je například služba REST API není k dispozici nebo jakákoli vnitřní chyba. - Poslední technický profil ověření se nespustí, pokud deklarace identity userType neexistuje nebo pokud je
Customer
hodnota userType . Technický profil ověření se pokusí přečíst profil uživatele z interní partnerské databáze a pokračuje v případě, že dojde k chybě, jako je například služba REST API není k dispozici nebo vnitřní chyba.
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="login-NonInteractive" ContinueOnError="false" />
<ValidationTechnicalProfile ReferenceId="REST-ReadProfileFromCustomersDatabase" ContinueOnError="true" >
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="false">
<Value>userType</Value>
<Action>SkipThisValidationTechnicalProfile</Action>
</Precondition>
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>userType</Value>
<Value>Partner</Value>
<Action>SkipThisValidationTechnicalProfile</Action>
</Precondition>
</Preconditions>
</ValidationTechnicalProfile>
<ValidationTechnicalProfile ReferenceId="REST-ReadProfileFromPartnersDatabase" ContinueOnError="true" >
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="false">
<Value>userType</Value>
<Action>SkipThisValidationTechnicalProfile</Action>
</Precondition>
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>userType</Value>
<Value>Customer</Value>
<Action>SkipThisValidationTechnicalProfile</Action>
</Precondition>
</Preconditions>
</ValidationTechnicalProfile>
</ValidationTechnicalProfiles>