Definování technického profilu CAPTCHA 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é profily CAPTCHA (Computer and Human Apart) umožňují službě Azure Active Directory B2C (Azure AD B2C) zabránit automatizovaným útokům. Technický profil CAPTCHA v Azure AD B2C podporuje typy problémů SE zvukem i vizuály CAPTCHA.
Protokol
Atribut Name elementu Protocol musí být nastaven na Proprietary
. Atribut obslužné rutiny musí obsahovat plně kvalifikovaný název sestavení obslužné rutiny protokolu, které používá Azure AD B2C pro CAPTCHA: Web.TPEngine.Providers.CaptchaProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Poznámka:
Tato funkce je ve verzi Public Preview.
Následující příklad ukazuje samoobslužný technický profil pro registraci e-mailu:
<TechnicalProfile Id="HIP-GetChallenge">
<DisplayName>Email signup</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.CaptchaProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
Operace technického profilu CAPTCHA
Operace technického profilu CAPTCHA mají dva operace:
Operace získání výzvy vygeneruje řetězec kódu CAPTCHA a pak ho zobrazí v uživatelském rozhraní pomocí ovládacího prvku zobrazení CAPTCHA. Zobrazení obsahuje vstupní textové pole. Tato operace nasměruje uživatele, aby zadal znaky, které vidí nebo uslyší do vstupního textového pole. Uživatel může podle potřeby přepínat mezi typy vizuálních a zvukových výzev.
Ověřte, že operace kódu ověřuje znaky zadané uživatelem.
Získání výzvy
První operace vygeneruje řetězec kódu CAPTCHA a pak ho zobrazí v uživatelském rozhraní.
Vstupní deklarace identity
Element InputClaims obsahuje seznam deklarací identity, které se mají odeslat do služby CAPTCHA služby Azure AD B2C.
ClaimReferenceId | Požadováno | Popis |
---|---|---|
challengeType | No | Typ výzvy CAPTCHA, zvuk nebo vizuál (výchozí). |
azureregion | Ano | Oblast služby, která obsluhuje požadavek na výzvu CAPTCHA. |
Zobrazení deklarací identity
Element DisplayClaims obsahuje seznam deklarací identity, které se zobrazí na obrazovce, aby uživatel viděl. Uživateli se například zobrazí kód výzvy CAPTCHA ke čtení.
ClaimReferenceId | Požadováno | Popis |
---|---|---|
challengeString | Ano | Kód výzvy CAPTCHA. |
Výstupní deklarace identity
OutputClaims element obsahuje seznam deklarací identity vrácených technickým profilem CAPTCHA.
ClaimReferenceId | Požadováno | Popis |
---|---|---|
challengeId | Ano | Jedinečný identifikátor kódu výzvy CAPTCHA. |
challengeString | Ano | Kód výzvy CAPTCHA. |
azureregion | Ano | Oblast služby, která obsluhuje požadavek na výzvu CAPTCHA. |
Metadata
Atribut | Požadováno | Popis |
---|---|---|
Operace | Ano | Hodnota musí být GetChallenge. |
Značka | Ano | Hodnota musí být HIP. |
Příklad: Vygenerování kódu CAPTCHA
Následující příklad ukazuje technický profil CAPTCHA, který použijete k vygenerování kódu:
<TechnicalProfile Id="HIP-GetChallenge">
<DisplayName>GetChallenge</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.CaptchaProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">GetChallenge</Item>
<Item Key="Brand">HIP</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="challengeType" />
</InputClaims>
<DisplayClaims>
<DisplayClaim ClaimTypeReferenceId="challengeString" />
</DisplayClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="challengeId" />
<OutputClaim ClaimTypeReferenceId="challengeString" PartnerClaimType="ChallengeString" />
<OutputClaim ClaimTypeReferenceId="azureregion" />
</OutputClaims>
</TechnicalProfile>
Ověření výzvy
Druhá operace ověřuje výzvu CAPTCHA.
Vstupní deklarace identity
Element InputClaims obsahuje seznam deklarací identity, které se mají odeslat do služby CAPTCHA služby Azure AD B2C.
ClaimReferenceId | Požadováno | Popis |
---|---|---|
challengeType | No | Typ výzvy CAPTCHA, zvuk nebo vizuál (výchozí). |
challengeId | Ano | Jedinečný identifikátor CAPTCHA použitý k ověření relace. Naplněno z volání GetChallenge . |
captchaEntered | Ano | Kód výzvy, který uživatel zadá do textového pole výzvy v uživatelském rozhraní. |
azureregion | Ano | Oblast služby, která obsluhuje požadavek na výzvu CAPTCHA. Naplněno z volání GetChallenge . |
Zobrazení deklarací identity
Prvek DisplayClaims obsahuje seznam deklarací identity, které se mají zobrazit na obrazovce pro shromažďování vstupu od uživatele.
ClaimReferenceId | Požadováno | Popis |
---|---|---|
captchaEntered | Ano | Kód výzvy CAPTCHA zadaný uživatelem |
Výstupní deklarace identity
OutputClaims element obsahuje seznam deklarací identity vrácených technickým profilem captcha.
ClaimReferenceId | Požadováno | Popis |
---|---|---|
challengeId | Ano | Jedinečný identifikátor CAPTCHA použitý k ověření relace. |
isCaptchaSolved | Ano | Příznak označující, jestli se výzva CAPTCHA úspěšně vyřešila. |
reason | Ano | Používá se ke komunikaci s uživatelem bez ohledu na to, jestli je pokus o vyřešení výzvy úspěšný nebo ne. |
Metadata
Atribut | Požadováno | Popis |
---|---|---|
Operace | Ano | Hodnota musí být VerifyChallenge. |
Značka | Ano | Hodnota musí být HIP. |
Příklad: Ověření kódu CAPTCHA
Následující příklad ukazuje technický profil CAPTCHA, který používáte k ověření kódu CAPTCHA:
<TechnicalProfile Id="HIP-VerifyChallenge">
<DisplayName>Verify Code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.CaptchaProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Brand">HIP</Item>
<Item Key="Operation">VerifyChallenge</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="challengeType" DefaultValue="Visual" />
<InputClaim ClaimTypeReferenceId="challengeId" />
<InputClaim ClaimTypeReferenceId="captchaEntered" PartnerClaimType="inputSolution" Required="true" />
<InputClaim ClaimTypeReferenceId="azureregion" />
</InputClaims>
<DisplayClaims>
<DisplayClaim ClaimTypeReferenceId="captchaEntered" />
</DisplayClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="challengeId" />
<OutputClaim ClaimTypeReferenceId="isCaptchaSolved" PartnerClaimType="solved" />
<OutputClaim ClaimTypeReferenceId="reason" PartnerClaimType="reason" />
</OutputClaims>
</TechnicalProfile>