Definiera en teknisk CAPTCHA-profil i en anpassad Azure Active Directory B2C-princip
Kommentar
I Azure Active Directory B2C är anpassade principer främst utformade för att hantera komplexa scenarier. I de flesta scenarier rekommenderar vi att du använder inbyggda användarflöden. Om du inte har gjort det kan du läsa mer om startpaketet för anpassad princip i Kom igång med anpassade principer i Active Directory B2C.
Med en helt automatiserad offentlig turing-test för att skilja dator och mänskligt från varandra (CAPTCHA) kan Azure Active Directory B2C (Azure AD B2C) förhindra automatiserade attacker. Azure AD B2C:s tekniska CAPTCHA-profil stöder både ljud- och visuella CAPTCHA-utmaningar.
Protokoll
Attributet Namn för protokollelementet måste anges till Proprietary
. Hanterarattributet måste innehålla det fullständigt kvalificerade namnet på protokollhanterarsammansättningen som används av Azure AD B2C för CAPTCHA:Web.TPEngine.Providers.CaptchaProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Kommentar
Den här funktionen är i offentlig förhandsversion
I följande exempel visas en egensäkrad teknisk profil för e-postregistrering:
<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" />
CAPTCHA:s tekniska profilåtgärder
CAPTCHA:s tekniska profilåtgärder har två åtgärder:
Åtgärden Hämta utmaning genererar CAPTCHA-kodsträngen och visar den sedan i användargränssnittet med hjälp av en CAPTCHA-visningskontroll. Visningen innehåller en textruta för indata. Den här åtgärden instruerar användaren att ange de tecken som de ser eller hör i textrutan för indata. Användaren kan växla mellan typer av visuella och ljudutmaningar efter behov.
Kontrollera att kodåtgärden verifierar de tecken som användaren anger.
Hämta utmaning
Den första åtgärden genererar CAPTCHA-kodsträngen och visar den sedan i användargränssnittet.
Indataanspråk
Elementet InputClaims innehåller en lista över anspråk som ska skickas till Azure AD B2C:s CAPTCHA-tjänst.
ClaimReferenceId | Obligatoriskt | Beskrivning |
---|---|---|
challengeType | Nej | CAPTCHA-utmaningstypen, Ljud eller Visuellt objekt (standard). |
azureregion | Ja | Tjänstregionen som hanterar CAPTCHA-utmaningsbegäran. |
Visa anspråk
Elementet DisplayClaims innehåller en lista över anspråk som ska visas på skärmen för användaren att se. Användaren visas till exempel med CAPTCHA-utmaningskoden som ska läsas.
ClaimReferenceId | Obligatoriskt | Beskrivning |
---|---|---|
challengeString | Ja | CAPTCHA-utmaningskoden. |
Utdataanspråk
Elementet OutputClaims innehåller en lista över anspråk som returneras av den tekniska CAPTCHA-profilen.
ClaimReferenceId | Obligatoriskt | Beskrivning |
---|---|---|
challengeId | Ja | En unik identifierare för CAPTCHA-utmaningskod. |
challengeString | Ja | CAPTCHA-utmaningskoden. |
azureregion | Ja | Tjänstregionen som hanterar CAPTCHA-utmaningsbegäran. |
Metadata
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
Åtgärd | Ja | Värdet måste vara GetChallenge. |
Varumärke | Ja | Värdet måste vara HIP. |
Exempel: Generera CAPTCHA-kod
I följande exempel visas en teknisk CAPTCHA-profil som du använder för att generera en kod:
<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>
Verifiera utmaning
Den andra åtgärden verifierar CAPTCHA-utmaningen.
Indataanspråk
Elementet InputClaims innehåller en lista över anspråk som ska skickas till Azure AD B2C:s CAPTCHA-tjänst.
ClaimReferenceId | Obligatoriskt | Beskrivning |
---|---|---|
challengeType | Nej | CAPTCHA-utmaningstypen, Ljud eller Visuellt objekt (standard). |
challengeId | Ja | En unik identifierare för CAPTCHA som används för sessionsverifiering. Fylls i från GetChallenge-anropet . |
captchaEntered | Ja | Utmaningskoden som användaren anger i textrutan för utmaningen i användargränssnittet. |
azureregion | Ja | Tjänstregionen som hanterar CAPTCHA-utmaningsbegäran. Fylls i från GetChallenge-anropet . |
Visa anspråk
Elementet DisplayClaims innehåller en lista över anspråk som ska visas på skärmen för att samla in indata från användaren.
ClaimReferenceId | Obligatoriskt | Beskrivning |
---|---|---|
captchaEntered | Ja | CAPTCHA-utmaningskoden som angetts av användaren. |
Utdataanspråk
Elementet OutputClaims innehåller en lista över anspråk som returneras av den tekniska captcha-profilen.
ClaimReferenceId | Obligatoriskt | Beskrivning |
---|---|---|
challengeId | Ja | En unik identifierare för CAPTCHA som används för sessionsverifiering. |
isCaptchaSolved | Ja | En flagga som anger om CAPTCHA-utmaningen har lösts. |
orsak | Ja | Används för att kommunicera med användaren om försöket att lösa utmaningen lyckas eller inte. |
Metadata
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
Åtgärd | Ja | Värdet måste vara VerifyChallenge. |
Varumärke | Ja | Värdet måste vara HIP. |
Exempel: Verifiera CAPTCHA-kod
I följande exempel visas en teknisk CAPTCHA-profil som du använder för att verifiera en CAPTCHA-kod:
<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>