Skip to content

Commit a7d09aa

Browse files
committed
captcha - address review comments
1 parent 101bc70 commit a7d09aa

File tree

5 files changed

+39
-35
lines changed

5 files changed

+39
-35
lines changed

articles/active-directory-b2c/add-captcha.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ ms.author: kengaderdus
1111
ms.subservice: B2C
1212
zone_pivot_groups: b2c-policy-type
1313

14-
#Customer intent: As a developer, I want to enable CAPTCHA in consumer-facing application that is secured by Azure Active Directory B2C.
14+
#Customer intent: As a developer, I want to enable CAPTCHA in consumer-facing application that is secured by Azure Active Directory B2C, so that I can protect my sign-in and sign-up flows from automated attacks.
1515

1616
---
1717

1818
# Enable CAPTCHA in Azure Active Directory B2C
1919

2020
[!INCLUDE [active-directory-b2c-choose-user-flow-or-custom-policy](../../includes/active-directory-b2c-choose-user-flow-or-custom-policy.md)]
2121

22-
Azure Active Directory B2C (Azure AD B2C) allows you to enable CAPTCHA prevent to automated attacks on your consumer-facing applications. Azure AD B2C’s CAPTCHA supports both audio and visual captcha challenges. You can enable this security feature in both sign-up and sign-in flows for your local accounts. CAPTCHA isn't applicable for social identity providers' sign-in.
22+
Azure Active Directory B2C (Azure AD B2C) allows you to enable CAPTCHA prevent to automated attacks on your consumer-facing applications. Azure AD B2C’s CAPTCHA supports both audio and visual CAPTCHA challenges. You can enable this security feature in both sign-up and sign-in flows for your local accounts. CAPTCHA isn't applicable for social identity providers' sign-in.
2323

2424
> [!NOTE]
2525
> This feature is in public preview

articles/active-directory-b2c/captcha-technical-profile.md

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Define a CAPTCHA technical profile in a custom policy
33
titleSuffix: Azure AD B2C
4-
description: Define a captcha technical profile custom policy in Azure Active Directory B2C.
4+
description: Define a CAPTCHA technical profile custom policy in Azure Active Directory B2C.
55

66
author: kengaderdus
77
manager: mwongerapk
@@ -13,18 +13,18 @@ ms.date: 01/17/2024
1313
ms.author: kengaderdus
1414
ms.subservice: B2C
1515

16-
#Customer intent: As a developer integrating a customer-facing application with Azure Active Directory B2C, I want to define a CAPTCHA technical profile, so that I can secure sign-up and sign-in flows from automated attacks.
16+
#Customer intent: As a developer integrating a customer-facing application with Azure AD B2C, I want to define a CAPTCHA technical profile, so that I can secure sign-up and sign-in flows from automated attacks.
1717
---
1818

1919
# Define a CAPTCHA technical profile in an Azure Active Directory B2C custom policy
2020

2121
[!INCLUDE [active-directory-b2c-advanced-audience-warning](../../includes/active-directory-b2c-advanced-audience-warning.md)]
2222

23-
A Completely Automated Public Turing Tests to Tell Computer and Human Apart (CAPTCHA) technical profiles enables Azure Active Directory B2C (Azure AD B2C) to prevent automated attacks. Azure AD B2C's CAPTCHA technical profiles supports both audio and visual captcha challenges types.
23+
A Completely Automated Public Turing Tests to Tell Computer and Human Apart (CAPTCHA) technical profiles enables Azure Active Directory B2C (Azure AD B2C) to prevent automated attacks. Azure AD B2C's CAPTCHA technical profile supports both audio and visual CAPTCHA challenges types.
2424

2525
## Protocol
2626

27-
The **Name** attribute of the **Protocol** element needs to be set to `Proprietary`. The **handler** attribute must contain the fully qualified name of the protocol handler assembly that is used by Azure AD B2C, for captcha:
27+
The **Name** attribute of the **Protocol** element needs to be set to `Proprietary`. The **handler** attribute must contain the fully qualified name of the protocol handler assembly that is used by Azure AD B2C, for CAPTCHA:
2828
`Web.TPEngine.Providers.CaptchaProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null`
2929

3030
> [!NOTE]
@@ -41,13 +41,13 @@ The following example shows a self-asserted technical profile for email sign-up:
4141

4242
CAPTCHA technical profile operations has two operations:
4343

44-
- **Get challenge operation** generates the captcha code string, then displays it on the user interface by using a [captcha display control](display-control-captcha.md). The display includes an input textbox. This operation directs the user to input the characters they see or hear into the input textbox. The user can switch between visual and audio challenge types as needed.
44+
- **Get challenge operation** generates the CAPTCHA code string, then displays it on the user interface by using a [CAPTCHA display control](display-control-captcha.md). The display includes an input textbox. This operation directs the user to input the characters they see or hear into the input textbox. The user can switch between visual and audio challenge types as needed.
4545

4646
- **Verify code operation** verifies the characters input by the user.
4747

4848
## Get challenge
4949

50-
The first operation generates the captcha code string, then displays it on the user interface.
50+
The first operation generates the CAPTCHA code string, then displays it on the user interface.
5151

5252
### Input claims
5353

@@ -60,7 +60,7 @@ The **InputClaims** element contains a list of claims to send to Azure AD B2C's
6060

6161
### Display claims
6262

63-
The **DisplayClaims** element contains a list of claims to be presented on the screen for the user to see. For example, the user is presented with the captcha challenge code to read.
63+
The **DisplayClaims** element contains a list of claims to be presented on the screen for the user to see. For example, the user is presented with the CAPTCHA challenge code to read.
6464

6565
| ClaimReferenceId | Required | Description |
6666
| --------- | -------- | ----------- |
@@ -69,7 +69,7 @@ The **DisplayClaims** element contains a list of claims to be presented on the s
6969

7070
### Output claims
7171

72-
The **OutputClaims** element contains a list of claims returned by the captcha technical profile.
72+
The **OutputClaims** element contains a list of claims returned by the CAPTCHA technical profile.
7373

7474
| ClaimReferenceId | Required | Description |
7575
| --------- | -------- | ----------- |
@@ -84,9 +84,9 @@ The **OutputClaims** element contains a list of claims returned by the captcha t
8484
| Operation | Yes | Value must be *GetChallenge*.|
8585
| Brand | Yes | Value must be *HIP*.|
8686

87-
### Example: Generate captcha code
87+
### Example: Generate CAPTCHA code
8888

89-
The following example shows a captcha technical profile that is used to generate a code:
89+
The following example shows a CAPTCHA technical profile that you use to generate a code:
9090

9191
```xml
9292
<TechnicalProfile Id="HIP-GetChallenge">
@@ -116,9 +116,9 @@ The following example shows a captcha technical profile that is used to generate
116116
```
117117

118118

119-
## Verify code
119+
## Verify challenge
120120

121-
The second operation verifies the captcha code.
121+
The second operation verifies the CAPTCHA challenge.
122122

123123
### Input claims
124124

@@ -127,9 +127,9 @@ The **InputClaims** element contains a list of claims to send to Azure AD B2C's
127127
| ClaimReferenceId | Required | Description |
128128
| --------- | -------- | ----------- |
129129
| challengeType | No | The CAPTCHA challenge type, Audio or Visual (default).|
130-
|challengeId| ||
131-
|captchaEntered| ||
132-
|azureregion| ||
130+
|challengeId| Yes | A unique identifier for CAPTCHA used for session verification. Populated from the *GetChallenge* call. |
131+
|captchaEntered| Yes | The challenge code that the user inputs into the challenge textbox on the user interface. |
132+
|azureregion| Yes | The service region that will serve the CAPTCHA challenge request. Populated from the *GetChallenge* call.|
133133

134134

135135
### Display claims
@@ -138,27 +138,27 @@ The **DisplayClaims** element contains a list of claims to be presented on the s
138138

139139
| ClaimReferenceId | Required | Description |
140140
| --------- | -------- | ----------- |
141-
| captchaEntered | | The CAPTCHA code entered by the user.|
141+
| captchaEntered | Yes | The CAPTCHA challenge code entered by the user.|
142142

143143
### Output claims
144144

145145
The **OutputClaims** element contains a list of claims returned by the captcha technical profile.
146146

147147
| ClaimReferenceId | Required | Description |
148148
| --------- | -------- | ----------- |
149-
| challengeId | | A unique identifier for CAPTCHA challenge code.|
150-
| isCaptchaSolved | | A flag indicating whether the captcha challenge was successfully solved.|
151-
| reason | Yes | |
149+
| challengeId | Yes | A unique identifier for CAPTCHA used for session verification.|
150+
| isCaptchaSolved | Yes | A flag indicating whether the CAPTCHA challenge is successfully solved.|
151+
| reason | Yes | Used to communicate to the user whether the attempt to solve the challenge is successful or not. |
152152

153153
### Metadata
154154
| Attribute | Required | Description |
155155
| --------- | -------- | ----------- |
156156
| Operation | Yes | Value must be **VerifyChallenge**.|
157157
| Brand | Yes | Value must be **HIP**.|
158158

159-
### Example: Verify captcha code
159+
### Example: Verify CAPTCHA code
160160

161-
The following example shows a captcha technical profile that is used to verify a captcha code:
161+
The following example shows a CAPTCHA technical profile that you use to verify a CAPTCHA code:
162162

163163
```xml
164164
<TechnicalProfile Id="HIP-VerifyChallenge">
@@ -187,4 +187,8 @@ The following example shows a captcha technical profile that is used to verify a
187187
</OutputClaims>
188188

189189
</TechnicalProfile>
190-
```
190+
```
191+
192+
## Next steps
193+
194+
- [Enable CAPTCHA in Azure Active Directory B2C](add-captcha.md).

articles/active-directory-b2c/display-control-captcha.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ ms.date: 01/17/2024
1313
ms.author: kengaderdus
1414
ms.subservice: B2C
1515

16-
#Customer intent: As a developer integrating customer-facing apps with Azure AD B2C, I want to learn how to define a CAPTCHA display control so that I can enable CAPTCHA in my authentication using Azure AD B2C's custom policies.
16+
#Customer intent: As a developer integrating customer-facing apps with Azure AD B2C, I want to learn how to define a CAPTCHA display control for Azure AD B2C's custom policies so that I can protect my authentication flows from automated attacks.
1717
---
1818

1919
# Verify CAPTCHA challenge string using CAPTCHA display control
2020

21-
Use CAPTCHA display controls to generate a captcha challenge string, then verify it by asking the user to enter what they see or hear. To display a CAPTCHA display control, you reference it from a [self-asserted technical profile](self-asserted-technical-profile.md), and you must set the self-asserted technical profile's `setting.enableCaptchaChallenge` metadata value to *true*.
21+
Use CAPTCHA display controls to generate a CAPTCHA challenge string, then verify it by asking the user to enter what they see or hear. To display a CAPTCHA display control, you reference it from a [self-asserted technical profile](self-asserted-technical-profile.md), and you must set the self-asserted technical profile's `setting.enableCaptchaChallenge` metadata value to *true*.
2222

2323
The screenshot shows the CAPTCHA display control shown on a sign-up page:
2424

25-
:::image type="content" source="media/add-captcha/add-captcha.png" alt-text="Screenshot of captcha as it appears in the sign up page.":::
25+
:::image type="content" source="media/add-captcha/add-captcha.png" alt-text="Screenshot of CAPTCHA as it appears in the sign up page.":::
2626

2727
The sign-up page loads with the CAPTCHA display control. The user then inputs the characters they see or hear. The **Send verification code** button sends a verification code to the user's email, and isn't CAPTCHA display control element, but it causes the CAPTCHA challenge string to be verified.
2828

@@ -33,10 +33,10 @@ This table summarizes the elements that a CAPTCHA display control contains.
3333
| Element | Required | Description |
3434
| --------- | -------- | ----------- |
3535
| UserInterfaceControlType | Yes | Value must be *CaptchaControl*.|
36-
| InputClaims | Yes | One or more claims required as input to specify the captcha challenge type and to uniquely identify the challenge. |
37-
| DisplayClaims | Yes | The claims to be shown to the user such as the captcha challenge code, or collected from the user, such as code input by the user |
38-
| OutputClaim | No | Any claim to be returned to the self-asserted page after the user completes captcha code verification process. |
39-
| Actions | Yes | CAPTCHA display control contains two actions, *GetChallenge* and *VerifyChallenge*. <br> *GetChallenge* action generates, then displays a captcha challenge code on the user interface. <br> *VerifyChallenge* action verifies the CAPTCHA challenge code that the user inputs. |
36+
| InputClaims | Yes | One or more claims required as input to specify the CAPTCHA challenge type and to uniquely identify the challenge. |
37+
| DisplayClaims | Yes | The claims to be shown to the user such as the CAPTCHA challenge code, or collected from the user, such as code input by the user |
38+
| OutputClaim | No | Any claim to be returned to the self-asserted page after the user completes CAPTCHA code verification process. |
39+
| Actions | Yes | CAPTCHA display control contains two actions, *GetChallenge* and *VerifyChallenge*. <br> *GetChallenge* action generates, then displays a CAPTCHA challenge code on the user interface. <br> *VerifyChallenge* action verifies the CAPTCHA challenge code that the user inputs. |
4040

4141
The following XML snippet code shows an examples of CaptchaProvider display control:
4242

articles/active-directory-b2c/localization-string-ids.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ manager: CelesteDG
88
ms.service: active-directory
99

1010
ms.topic: reference
11-
ms.date: 01/11/2024
11+
ms.date: 01/17/2024
1212
ms.author: kengaderdus
1313
ms.subservice: B2C
1414

@@ -657,7 +657,7 @@ The following IDs are used for a [CAPTCHA display control](display-control-captc
657657
| `charsnotmatched_error` | The characters did not match for CAPTCHA challenge. Please try again | The message to display to the user if they enter a wrong CAPTCHA code. |
658658
| `api_error` | Api error on CAPTCHA control | The message to display to the user if an error occurs while Azure AD B2C attempts to validate the CAPTCHA code. |
659659
| `captcha_resolved` | Success! | The message to display to the user if they enter a correct CAPTCHA code. |
660-
|`DisplayName`| Help us beat the bots. | The CAPTCHA display control display name. |
660+
|`DisplayName`| Help us beat the bots. | The CAPTCHA display control's display name. |
661661

662662
### CAPTCHA display control example
663663

articles/active-directory-b2c/self-asserted-technical-profile.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ manager: CelesteDG
99
ms.service: active-directory
1010

1111
ms.topic: reference
12-
ms.date: 01/11/2024
12+
ms.date: 01/17/2024
1313

1414
ms.author: kengaderdus
1515
ms.subservice: B2C
1616

1717

18-
#Customer intent: As a developer using Azure Active Directory B2C, I want to define a self-asserted technical profile with display claims and output claims, so that I can collect and validate user input and return the claims to the next orchestration step.
18+
#Customer intent: As a developer using Azure Active Directory B2C, I want to define a self-asserted technical profile with display, so that I can collect and validate user input.
1919

2020
---
2121

0 commit comments

Comments
 (0)