Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
2025. május 1-jére az Azure AD B2C már nem lesz elérhető az új ügyfelek számára. További információ a GYIK-ben.
Mielőtt hozzákezdene, a lap tetején található Szabályzattípus kiválasztása választóval válassza ki a beállított szabályzat típusát. Az Azure Active Directory B2C két módszert kínál annak meghatározására, hogy a felhasználók hogyan használják az alkalmazásokat: előre definiált felhasználói folyamatokon vagy teljesen konfigurálható egyéni szabályzatokon keresztül. A cikkben szereplő lépések különbözőek az egyes metódusok esetében.
Az Azure Active Directory B2C (Azure AD B2C) lehetővé teszi a CAPTCHA engedélyezését, hogy megelőzze a fogyasztói alkalmazásokra irányuló automatizált támadásokat. Az Azure AD B2C CAPTCHA támogatja a hang- és vizuális kihívásokat is. Ezt a biztonsági funkciót a helyi fiókok regisztrációs és bejelentkezési folyamataiban is engedélyezheti. A CAPTCHA nem alkalmazható a közösségi identitásszolgáltatók bejelentkezésére.
Megjegyzés:
Ez a funkció nyilvános előzetes verzióban érhető el
Előfeltételek
- Hozzon létre egy felhasználói folyamatot , hogy a felhasználók regisztrálhassák és bejelentkezhessenek az alkalmazásba.
- Webalkalmazás regisztrálása.
- Végezze el az Egyéni szabályzatok használatának első lépéseit az Active Directory B2C-ben. Ez az oktatóanyag bemutatja, hogyan frissítheti az egyéni szabályzatfájlokat az Azure AD B2C-bérlő konfigurációjának használatára.
- Webalkalmazás regisztrálása.
A CAPTCHA engedélyezése
Jelentkezzen be a Azure portalra.
Ha több bérlőhöz is hozzáférése van, a felső menüben a Beállítások ikont választva váltson az Azure AD B2C-bérlőre a Címtárak + előfizetések menüből.
A bal oldali menüben válassza az Azure AD B2C-t. Vagy válassza a Minden szolgáltatás lehetőséget, és keresse meg és válassza az Azure AD B2C-t.
Válassza ki a felhasználói folyamatokat.
Válassza ki azt a felhasználói folyamatot, amelyhez engedélyezni szeretné a CAPTCHA-t. Például B2C_1_signinsignup.
Válassza a Tulajdonságokelemet.
A CAPTCHA (előzetes verzió) területen válassza ki azt a folyamatot, amelyhez engedélyezni szeretné a CAPTCHA-t, például a CAPTCHA engedélyezése – Regisztráció.
Válassza az Mentésgombot.
A felhasználói folyamat tesztelése
A felhasználói folyamat tesztelése lépésekkel tesztelheti és ellenőrizheti, hogy a CAPTCHA engedélyezve van-e a kiválasztott folyamathoz. A captCHA típusától (vizualizáció vagy hang) függően meg kell adnia a megjelenő vagy hallható karaktereket.
A CAPTCHA egyéni szabályzatban való engedélyezéséhez frissítenie kell a meglévő egyéni házirendfájlokat. Ha nem rendelkezik meglévő egyéni házirendfájlokkal, töltse le a .zip fájlt , vagy klónozza az adattárat innen https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack. Ebben a cikkben frissítjük az XML-fájlokat a /Display Controls Starterpack/LocalAccounts/ mappában.
Jogcímek deklarálása
További jogcímek szükségesek a CAPTCHA egyéni szabályzatban való engedélyezéséhez:
A VS Code-ban nyissa meg a TrustFrameworkBase.XML fájlt.
A
ClaimsSchemaszakaszban a következő kód használatával deklarálhatja a jogcímeket.<!--<ClaimsSchema>--> ... <ClaimType Id="inputSolution"> <DataType>string</DataType> </ClaimType> <ClaimType Id="solved"> <DataType>boolean</DataType> </ClaimType> <ClaimType Id="reason"> <DataType>string</DataType> </ClaimType> <ClaimType Id="azureregion"> <DataType>string</DataType> </ClaimType> <ClaimType Id="challengeId"> <DisplayName>The ID of the generated captcha</DisplayName> <DataType>string</DataType> <UserHelpText>Captcha challenge identifier</UserHelpText> <UserInputType>Paragraph</UserInputType> </ClaimType> <ClaimType Id="challengeType"> <DisplayName>Type of captcha (visual / audio)</DisplayName> <DataType>string</DataType> <UserHelpText>Captcha challenge type</UserHelpText> <UserInputType>Paragraph</UserInputType> </ClaimType> <ClaimType Id="challengeString"> <DisplayName>Captcha challenge code</DisplayName> <DataType>string</DataType> <UserHelpText>Captcha challenge code</UserHelpText> <UserInputType>Paragraph</UserInputType> </ClaimType> <ClaimType Id="captchaEntered"> <DisplayName>Captcha entered by the user</DisplayName> <DataType>string</DataType> <UserHelpText>Enter the characters you see</UserHelpText> <UserInputType>TextBox</UserInputType> </ClaimType> <ClaimType Id="isCaptchaSolved"> <DisplayName>Flag indicating that the captcha was successfully solved</DisplayName> <DataType>boolean</DataType> </ClaimType> <ClaimType Id="mfaCaptchaEnabled"> <DisplayName>flag used to control captcha enabled in MFA</DisplayName> <DataType>string</DataType> </ClaimType> <ClaimType Id="signupCaptchaEnabled"> <DisplayName>flag used to control captcha enabled during signup</DisplayName> <DataType>string</DataType> </ClaimType> <ClaimType Id="signinCaptchaEnabled"> <DisplayName>flag used to control captcha enabled during signin</DisplayName> <DataType>string</DataType> </ClaimType> ... <!--<ClaimsSchema>-->
Megjelenítési vezérlő konfigurálása
Ha engedélyezni szeretné a CAPTCHA-t az egyéni szabályzathoz, egy CAPTCHA megjelenítési vezérlőt használ. A CAPTCHA megjelenítési vezérlő létrehozza és megjeleníti a CAPTCHA-képet.
A TrustFrameworkBase.XML fájlban keresse meg az DisplayControls elemet, majd adja hozzá a következő megjelenítési vezérlőt gyermekelemként. Ha még nem rendelkezik DisplayControls elemel, adjon hozzá egyet.
<!--<DisplayControls>-->
...
<DisplayControl Id="captchaControlChallengeCode" UserInterfaceControlType="CaptchaControl" DisplayName="Help us beat the bots">
<InputClaims>
<InputClaim ClaimTypeReferenceId="challengeType" />
<InputClaim ClaimTypeReferenceId="challengeId" />
</InputClaims>
<DisplayClaims>
<DisplayClaim ClaimTypeReferenceId="challengeType" ControlClaimType="ChallengeType" />
<DisplayClaim ClaimTypeReferenceId="challengeId" ControlClaimType="ChallengeId" />
<DisplayClaim ClaimTypeReferenceId="challengeString" ControlClaimType="ChallengeString" />
<DisplayClaim ClaimTypeReferenceId="captchaEntered" ControlClaimType="CaptchaEntered" />
</DisplayClaims>
<Actions>
<Action Id="GetChallenge">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile
TechnicalProfileReferenceId="HIP-GetChallenge" />
</ValidationClaimsExchange>
</Action>
<Action Id="VerifyChallenge">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile
TechnicalProfileReferenceId="HIP-VerifyChallenge" />
</ValidationClaimsExchange>
</Action>
</Actions>
</DisplayControl>
...
<!--</DisplayControls>-->
CAPTCHA technikai profil konfigurálása
Az Azure AD B2C CAPTCHA technikai profilja ellenőrzi a CAPTCHA-kihívást. Ez a technikai profil létrehozhat egy CAPTCHA-kódot, vagy ellenőrizheti azt a konfigurálástól függően.
A TrustFrameworkBase.XML fájlban keresse meg az ClaimsProviders elemet, és adja hozzá a jogcímszolgáltatót a következő kóddal:
<!--<ClaimsProvider>-->
...
<ClaimsProvider>
<DisplayName>HIPChallenge</DisplayName>
<TechnicalProfiles>
<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>
<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>
</TechnicalProfiles>
</ClaimsProvider>
...
<!--<ClaimsProviders>-->
A GetChallenge művelettel konfigurált CAPTCHA technikai profil létrehozza és megjeleníti a CAPTCHA kihívás karakterláncát. A VerifyChallenge használatával konfigurált CAPTCHA technikai profil ellenőrzi a felhasználó által bevitt kihívási sztringet.
Tartalomdefiníció lapelrendezéseinek frissítése
A különböző lapelrendezésekhez használja a következő lapelrendezési verziókat:
| Oldalelrendezés | Lapelrendezés verziótartománya |
|---|---|
| Önállóan összeszerelt | >=2,1,33 |
| Egyesített | >=2,1.21 |
| Többtényezős | >=1,2.19 |
példa:
A TrustFrameworkBase.XML fájlban az elem alatt keresse meg az ContentDefinitionsId="api.localaccountsignup" tartalomdefiníciót, majd frissítse a DataUri-t az alábbi kódban látható módon:
<!---<ContentDefinitions>-->
...
<ContentDefinition Id="api.localaccountsignup">
...
<!--Update this DataUri-->
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.27</DataUri>
...
</ContentDefinition>
...
<!---</ContentDefinitions>-->
Az önkiszolgáló lapelrendezés verzióját 2.1.27-es verzióként adhatja meg.
Miután konfigurálta a technikai profilokat és a megjelenítési vezérlőket, megadhatja azt a folyamatot, amelyhez engedélyezni szeretné a CAPTCHA-t.
A CAPTCHA engedélyezése a regisztrációhoz vagy a bejelentkezési folyamathoz
Ha engedélyezni szeretné a CAPTCHA-t a regisztrációs vagy bejelentkezési folyamathoz, kövesse az alábbi lépéseket:
A regisztrációs és bejelentkezési felhasználói folyamat áttekintésével, mint például a SignUpOrSignIn, azonosíthatja azt a saját maga által definiált technikai profilt, amely megjeleníti a regisztrációs vagy bejelentkezési élményt.
A technikai profilban , például a LocalAccountSignUpWithLogonEmailben adjon hozzá egy metaadatkulcsot és egy megjelenítési jogcímbejegyzést az alábbi kódban látható módon:
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
...
<Metadata>
...
<!--Add this metadata entry. Set value to true to activate CAPTCHA-->
<Item Key="setting.enableCaptchaChallenge">true</Item>
...
</Metadata>
...
<DisplayClaims>
...
<!--Add this display claim, which is a reference to the captcha display control-->
<DisplayClaim DisplayControlReferenceId="captchaControlChallengeCode" />
...
</DisplayClaims>
...
</TechnicalProfile>
A megjelenítési jogcím bejegyzése a korábban konfigurált megjelenítési vezérlőre hivatkozik.
CAPTCHA engedélyezése az MFA folyamatban
A CAPTCHA-t a Többtényezős hitelesítési folyamatban való engedélyezéséhez frissítenie kell két technikai profilt, mégpedig az önálló megerősítésű technikai profilban és a telefonos tényező technikai profiljában:
Vizsgálja meg a regisztrációs és bejelentkezési felhasználói utat (például SignUpOrSignIn), hogy azonosítsa a regisztrációs vagy bejelentkezési folyamatért felelős önállóan megadott technikai profilokat és telefonos tényező technikai profilokat.
Mindkét technikai profilban adjon hozzá egy metaadatkulcsot és egy megjelenítési jogcímbejegyzést az alábbi kódban látható módon:
<TechnicalProfile Id="PhoneFactor-InputOrVerify">
...
<Metadata>
...
<!--Add this metadata entry. Value set to true-->
<Item Key="setting.enableCaptchaChallenge">true</Item>
...
</Metadata>
...
<DisplayClaims>
...
<!--Add this display claim-->
<DisplayClaim DisplayControlReferenceId="captchaControlChallengeCode" />
...
</DisplayClaims>
...
</TechnicalProfile>
A CAPTCHA funkciójelző engedélyezése
Ahhoz, hogy a CAPTCHA-t a regisztráció, a bejelentkezés vagy az MFA során kényszerítse ki, hozzá kell adnia egy technikai profilt, amely lehetővé teszi az egyes forgatókönyvek funkciójelzőjét, majd meghívja a technikai profilt a felhasználói folyamat során.
- A TrustFrameworkBase.XML fájlban keresse meg az
ClaimsProviderselemet, és adja hozzá a jogcímszolgáltatót a következő kóddal:
<!--<ClaimsProvider>-->
...
<ClaimsProvider>
<DisplayName>Set Feature Flags</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="SetFeatureDefaultValue">
<DisplayName>Set Feature Flags</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="signupCaptchaEnabled" DefaultValue="true" />
<OutputClaim ClaimTypeReferenceId="signinCaptchaEnabled" DefaultValue="true" />
<OutputClaim ClaimTypeReferenceId="mfaCaptchaEnabled" DefaultValue="true" />
</OutputClaims>
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
...
<!--<ClaimsProviders>-->
Állítsa
DefaultValueigaz vagy hamis értékre a CAPTCHA-forgatókönyvtől függőenAdja hozzá a funkciójelzők technikai profilját a felhasználói folyamathoz, majd frissítse a többi vezénylési lépés sorrendjét.
<!--<UserJourneys>-->
...
<UserJourney Id="SignUpOrSignIn">
<OrchestrationSteps>
<!--Add this orchestration step-->
<OrchestrationStep Order="1" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="SetFeatureDefaultValue" TechnicalProfileReferenceId="SetFeatureDefaultValue" />
</ClaimsExchanges>
</OrchestrationStep>
...
<!--<UserJourneys>-->
Az egyéni szabályzatfájlok feltöltése
Az egyéni szabályzatfájlok feltöltéséhez használja a szabályzatok feltöltésének lépéseit.
Az egyéni szabályzat tesztelése
Az egyéni szabályzat tesztelése lépésekkel tesztelheti és ellenőrizheti, hogy a CAPTCHA engedélyezve van-e a kiválasztott folyamathoz. A captCHA típusától, vizualizációjától vagy hangjától függően meg kell adnia a megjelenő vagy hallható karaktereket.
Megjegyzés:
- CAPTCHA nem adható hozzá az MFA-lépéshez kizárólag regisztrációs célú felhasználói folyamatban.
- MFA-folyamatokban a CAPTCHA akkor alkalmazható, ha a választott MFA-módszer az SMS vagy a telefonhívás, csak SMS vagy telefonhívás.
Kapcsolódó tartalom
- Megtudhatja, hogyan definiálhat egy CAPTCHA technikai profilt.
- Megtudhatja, hogyan konfigurálhatja a CAPTCHA megjelenítési vezérlőjét.