Skip to content

Commit 255fdb4

Browse files
authored
Merge pull request #261254 from MicrosoftDocs/main
12/14/2023 AM Publish
2 parents f6018a3 + 2b5f841 commit 255fdb4

File tree

86 files changed

+860
-790
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+860
-790
lines changed

articles/active-directory-b2c/add-ropc-policy.md

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

1111
ms.topic: how-to
12-
ms.date: 12/16/2022
12+
ms.date: 12/16/2023
1313
ms.custom:
1414
ms.author: kengaderdus
1515
ms.subservice: B2C
1616
zone_pivot_groups: b2c-policy-type
17+
18+
#Customer intent: As a developer integrating Azure AD B2C into my application, I want to set up the resource owner password credentials flow, so that my application can exchange valid credentials for tokens and authenticate users.
1719
---
1820

1921
# Set up a resource owner password credentials flow in Azure Active Directory B2C
@@ -38,9 +40,9 @@ The following flows aren't supported:
3840
- **Server-to-server**: The identity protection system needs a reliable IP address gathered from the caller (the native client) as part of the interaction. In a server-side API call, only the server’s IP address is used. If a dynamic threshold of failed authentications is exceeded, the identity protection system may identify a repeated IP address as an attacker.
3941
- **Confidential client flow**: The application client ID is validated, but the application secret isn't validated.
4042

41-
When using the ROPC flow, consider the following:
43+
When using the ROPC flow, consider the following limitations:
4244

43-
- ROPC doesn’t work when there's any interruption to the authentication flow that needs user interaction. For example, when a password has expired or needs to be changed, [multifactor authentication](multi-factor-authentication.md) is required, or when more information needs to be collected during sign-in (for example, user consent).
45+
- ROPC doesn’t work when there's any interruption to the authentication flow that needs user interaction. For example, when a password expires or needs to be changed, [multifactor authentication](multi-factor-authentication.md) is required, or when more information needs to be collected during sign-in (for example, user consent).
4446
- ROPC supports local accounts only. Users can’t sign in with [federated identity providers](add-identity-provider.md) like Microsoft, Google+, Twitter, AD-FS, or Facebook.
4547
- [Session Management](session-behavior.md), including [keep me signed-in (KMSI)](session-behavior.md#enable-keep-me-signed-in-kmsi), isn't applicable.
4648

@@ -68,13 +70,14 @@ When using the ROPC flow, consider the following:
6870

6971
::: zone pivot="b2c-custom-policy"
7072

71-
## Pre-requisite
72-
If you've not done so, learn about custom policy starter pack in [Get started with custom policies in Active Directory B2C](tutorial-create-user-flows.md).
73+
## Prerequisite
74+
If you've not done so, learn how to use the custom policy starter pack in [Get started with custom policies in Active Directory B2C](tutorial-create-user-flows.md).
7375

7476
## Create a resource owner policy
7577

7678
1. Open the *TrustFrameworkExtensions.xml* file.
77-
2. If it doesn't exist already, add a **ClaimsSchema** element and its child elements as the first element under the **BuildingBlocks** element:
79+
80+
1. Under the **BuildingBlocks** element, locate the **ClaimsSchema** element, then add the following claims types:
7881

7982
```xml
8083
<ClaimsSchema>
@@ -372,12 +375,8 @@ A successful response looks like the following example:
372375

373376
* **Symptom** - You run the ROPC flow, and get the following message: *AADB2C90057: The provided application isn't configured to allow the 'OAuth' Implicit flow*.
374377
* **Possible causes** - The implicit flow isn't allowed for your application.
375-
* **Resolution**: When creating your [app registration](#register-an-application) in Azure AD B2C, you need to manually edit the application manifest and set the value of the `oauth2AllowImplicitFlow` property to `true`. After you configure the `oauth2AllowImplicitFlow` property, it can take a few minutes (typically no more than five) for the change to take affect.
378+
* **Resolution**: When creating your [app registration](#register-an-application) in Azure AD B2C, you need to manually edit the application manifest and set the value of the `oauth2AllowImplicitFlow` property to `true`. After you configure the `oauth2AllowImplicitFlow` property, it can take a few minutes (typically no more than five) for the change to take effect.
376379

377380
## Use a native SDK or App-Auth
378381

379-
Azure AD B2C meets OAuth 2.0 standards for public client resource owner password credentials and should be compatible with most client SDKs. For the latest information, see [Native App SDK for OAuth 2.0 and OpenID Connect implementing modern best practices](https://appauth.io/).
380-
381-
## Next steps
382-
383-
Download working samples that have been configured for use with Azure AD B2C from GitHub, [for Android](https://aka.ms/aadb2cappauthropc) and [for iOS](https://aka.ms/aadb2ciosappauthropc).
382+
Azure AD B2C meets OAuth 2.0 standards for public client resource owner password credentials and should be compatible with most client SDKs. For the latest information, see [Native App SDK for OAuth 2.0 and OpenID Connect implementing modern best practices](https://appauth.io/).

articles/active-directory-b2c/api-connectors-overview.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@ description: Use Microsoft Entra API connectors to customize and extend your use
55
ms.service: active-directory
66
ms.subservice: B2C
77
ms.topic: how-to
8-
ms.date: 12/16/2022
8+
ms.date: 12/13/2023
99

1010
ms.author: kengaderdus
1111
author: kengaderdus
1212
manager: CelesteDG
1313
ms.custom: "it-pro"
1414
zone_pivot_groups: b2c-policy-type
15+
16+
#Customer intent: As a developer or IT administrator, I want to use API connectors to integrate your sign-up user flows with REST APIs.
1517
---
1618

1719
# Use API connectors to customize and extend sign-up user flows and custom policies with external identity data sources
@@ -27,7 +29,7 @@ As a developer or IT administrator, you can use API connectors to integrate your
2729
- **Validate user input data**. Validate against malformed or invalid user data. For example, you can validate user-provided data against existing data in an external data store or list of permitted values. If invalid, you can ask a user to provide valid data or block the user from continuing the sign-up flow.
2830
- **Verify user identity**. Use an identity verification service or external identity data sources to add an extra level of security to account creation decisions.
2931
- **Integrate with a custom approval workflow**. Connect to a custom approval system for managing and limiting account creation.
30-
- **Augment tokens with attributes from external sources**. Enrich tokens with attributes about the user from sources that are external to Azure AD B2C such as cloud systems, custom user stores, custom permission systems, legacy identity services, and more.
32+
- **Augment tokens with attributes from external sources**. Enrich tokens with user attributes from sources that are external to Azure AD B2C such as cloud systems, custom user stores, custom permission systems, legacy identity services, and more.
3133
- **Overwrite user attributes**. Reformat or assign a value to an attribute collected from the user. For example, if a user enters the first name in all lowercase or all uppercase letters, you can format the name with only the first letter capitalized.
3234
- **Run custom business logic**. You can trigger downstream events in your cloud systems to send push notifications, update corporate databases, manage permissions, audit databases, and perform other custom actions.
3335

@@ -45,7 +47,7 @@ There are three places in a user flow where you can enable an API connector:
4547

4648
An API connector at this step in the sign-up process is invoked immediately after the user authenticates with an identity provider (like Google, Facebook, and Microsoft Entra ID). This step precedes the ***attribute collection page***, which is the form presented to the user to collect user attributes. This step isn't invoked if a user is registering with a local account. The following are examples of API connector scenarios you might enable at this step:
4749

48-
- Use the email or federated identity that the user provided to look up claims in an existing system. Return these claims from the existing system, pre-fill the attribute collection page, and make them available to return in the token.
50+
- Use the email or federated identity that the user provided to look up claims in an existing system. Return these claims from the existing system, prefill the attribute collection page, and make them available to return in the token.
4951
- Implement an allow or blocklist based on social identity.
5052

5153
### Before creating the user
@@ -243,7 +245,7 @@ If you reference a REST API technical profile directly from a user journey, the
243245

244246
Your REST API can be developed on any platform and written in any programing language, as long as it's secure and can send and receive claims in JSON format.
245247

246-
The request to your REST API service comes from Azure AD B2C servers. The REST API service must be published to a publicly accessible HTTPS endpoint. The REST API calls will arrive from an Azure data center IP address.
248+
The request to your REST API service comes from Azure AD B2C servers. The REST API service must be published to a publicly accessible HTTPS endpoint. The REST API call arrives from an Azure data center IP address.
247249

248250
You can use serverless cloud functions, like [HTTP triggers in Azure Functions](../azure-functions/functions-bindings-http-webhook-trigger.md) for ease of development.
249251

@@ -269,7 +271,7 @@ See the following articles for examples of using a RESTful technical profile:
269271
- [Walkthrough: Add an API connector to a sign-up user flow](add-api-connector.md)
270272
- [Walkthrough: Add REST API claims exchanges to custom policies in Azure Active Directory B2C](add-api-connector-token-enrichment.md)
271273
- [Secure your REST API services](secure-rest-api.md)
272-
- [Reference: RESTful technical profile](restful-technical-profile.md)
274+
- [Call a REST API by using Azure Active Directory B2C custom policy](custom-policies-series-call-rest-api.md)
273275

274276
::: zone-end
275277

articles/active-directory-b2c/configure-user-input.md

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

1111
ms.topic: how-to
12-
ms.date: 12/28/2022
12+
ms.date: 12/13/2023
1313
ms.custom:
1414
ms.author: godonnell
1515
ms.subservice: B2C
1616
zone_pivot_groups: b2c-policy-type
17+
18+
#Customer intent: As a developer or IT administrator, I want to add a new attribute to the sign-up journey, customize it's input type, and define whether it's mandatory or optional.
19+
1720
---
1821
# Add user attributes and customize user input in Azure Active Directory B2C
1922

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

22-
In this article, you collect a new attribute during your sign-up journey in Azure Active Directory B2C (Azure AD B2C). You'll obtain the users' city, configure it as a drop-down, and define whether it's required to be provided.
25+
In this article, you collect a new attribute, such as city, during your sign-up journey in Azure Active Directory B2C (Azure AD B2C). You obtain the users' city, configure it as a drop-down, and define whether it's required to be provided.
2326

2427
> [!IMPORTANT]
2528
> This sample uses the built-in claim 'city'. Instead, you can choose one of the supported [Azure AD B2C built-in attributes](user-profile-attributes.md) or a custom attribute. To use a custom attribute, [enable custom attributes](user-flow-custom-attributes.md). To use a different built-in or custom attribute, replace 'city' with the attribute of your choice, for example the built-in attribute *jobTitle* or a custom attribute like *extension_loyaltyId*.
@@ -42,11 +45,11 @@ In this article, you collect a new attribute during your sign-up journey in Azur
4245

4346
## Provide optional claims to your app
4447

45-
The application claims are values that are returned to the application. Update your user flow to contain the desired claims.
48+
The application claims are values that are returned to the application. Update your user flow to contain the desired claims:
4649

4750
1. Select your policy (for example, "B2C_1_SignupSignin") to open it.
4851
1. Select **Application claims**.
49-
1. Select attributes that you want send back to your application (for example, "City")..
52+
1. Select attributes that you want send back to your application (for example, "City").
5053
1. Select **Save**.
5154

5255
## Configure user attributes input type
@@ -72,10 +75,10 @@ To provide a set list of values for the city attribute:
7275
1. Select your policy (for example, "B2C_1_SignupSignin") to open it.
7376
1. On the **Languages** page for the user flow, select the language that you want to customize.
7477
1. Under **Page-level resources files**, select **Local account sign up page**.
75-
1. Select **Download defaults** (or **Download overrides** if you have previously edited this language).
78+
1. Select **Download defaults** (or **Download overrides** if you previously edited this language).
7679
1. Create a `LocalizedCollections` attribute.
7780

78-
The `LocalizedCollections` is an array of `Name` and `Value` pairs. The order for the items will be the order they are displayed.
81+
The `LocalizedCollections` is an array of `Name` and `Value` pairs. The order for the items is the order they are displayed.
7982

8083
* `ElementId` is the user attribute that this `LocalizedCollections` attribute is a response to.
8184
* `Name` is the value that's shown to the user.
@@ -123,15 +126,15 @@ The `LocalizedCollections` is an array of `Name` and `Value` pairs. The order fo
123126
1. Select your policy (for example, "B2C_1_SignupSignin") to open it.
124127
1. To test your policy, select **Run user flow**.
125128
1. For **Application**, select the web application named *testapp1* that you previously registered. The **Reply URL** should show `https://jwt.ms`.
126-
1. Click **Run user flow**
129+
1. Select **Run user flow**
127130

128131
::: zone-end
129132

130133
::: zone pivot="b2c-custom-policy"
131134

132135
## Overview
133136

134-
You can gather initial data from your users by using the sign-up or sign-in user journey. Additional claims can be gathered later by using a profile edit user journey. Anytime Azure AD B2C gathers information directly from the user interactively, it uses the [self-asserted technical profile](self-asserted-technical-profile.md). In this sample, you:
137+
You can gather initial data from your users by using the sign-up or sign-in user journey. You can gather more claims later by using a profile edit user journey. Anytime Azure AD B2C gathers information directly from the user interactively, it uses the [self-asserted technical profile](self-asserted-technical-profile.md). In this sample, you:
135138

136139
1. Define a "city" claim.
137140
1. Ask the user for their city.
@@ -336,7 +339,7 @@ To return the city claim back to the relying party application, add an output cl
336339
1. Select your relying party policy, for example `B2C_1A_signup_signin`.
337340
1. For **Application**, select a web application that you [previously registered](tutorial-register-applications.md). The **Reply URL** should show `https://jwt.ms`.
338341
1. Select the **Run now** button.
339-
1. From the sign-up or sign-in page, select **Sign up now** to sign up. Finish entering the user information including the city name, and then click **Create**. You should see the contents of the token that was returned.
342+
1. From the sign-up or sign-in page, select **Sign up now** to sign up. Finish entering the user information including the city name, and then select **Create**. You should see the contents of the token that was returned.
340343

341344
::: zone-end
342345

@@ -442,4 +445,4 @@ After you add the localization element, [edit the content definition with the lo
442445
- [Customize the user interface with HTML templates in Azure Active Directory B2C](customize-ui-with-html.md).
443446
- [Enable JavaScript](javascript-and-page-layout.md).
444447

445-
::: zone-end
448+
::: zone-end

articles/active-directory-b2c/custom-policies-series-collect-user-input.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.service: active-directory
1010

1111
ms.topic: how-to
1212
ms.custom: b2c-docs-improvements
13-
ms.date: 11/06/2023
13+
ms.date: 12/13/2023
1414
ms.author: kengaderdus
1515
ms.reviewer: yoelh
1616
ms.subservice: B2C
@@ -467,12 +467,12 @@ After you complete [step 6](#step-6---update-relying-party), the `ContosoCustomP
467467
```
468468
If you haven't already done so, replace `yourtenant` with the subdomain part of your tenant name, such as `contoso`. Learn how to [Get your tenant name](tenant-management-read-tenant-name.md#get-your-tenant-name).
469469

470-
## Step 3 - Upload custom policy file
470+
## Step 7 - Upload custom policy file
471471

472472
Follow the steps in [Upload custom policy file](custom-policies-series-hello-world.md#step-3---upload-custom-policy-file). If you're uploading a file with same name as the one already in the portal, make sure you select **Overwrite the custom policy if it already exists**.
473473

474474

475-
## Step 4 - Test the custom policy
475+
## Step 8 - Test the custom policy
476476

477477
1. Under **Custom policies**, select **B2C_1A_CONTOSOCUSTOMPOLICY**.
478478
1. For **Select application** on the overview page of the custom policy, select the web application such as *webapp1* that you previously registered. Make sure that the **Select reply URL** value is set to`https://jwt.ms`.

articles/active-directory-b2c/customize-ui.md

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

1111
ms.topic: how-to
12-
ms.date: 12/16/2022
12+
ms.date: 12/13/2023
1313
ms.custom: "b2c-support"
1414
ms.author: kengaderdus
1515
ms.subservice: B2C
1616
zone_pivot_groups: b2c-policy-type
17+
18+
#Customer intent: As a developer, I want to customize the user interface of my application, so that I can provide a seamless and branded user experience for sign-up, sign-in, profile editing, and password resetting.
1719
---
1820

1921
# Customize the user interface in Azure Active Directory B2C
@@ -38,27 +40,27 @@ Azure AD B2C provide several built-in templates you can choose from to give your
3840
3941
### Ocean Blue
4042

41-
Example of the Ocean Blue template rendered on sign up and sign in page:
43+
Example of the Ocean Blue template rendered on sign-up and sign-in page:
4244

4345
![Ocean Blue template screenshot](media/customize-ui/template-ocean-blue.png)
4446

4547
### Slate Gray
4648

47-
Example of the Slate Gray template rendered on sign up sign in page:
49+
Example of the Slate Gray template rendered on sign-up sign-in page:
4850

4951
![Slate Gray template screenshot](media/customize-ui/template-slate-gray.png)
5052

5153
### Classic
5254

53-
Example of the Classic template rendered on sign up sign in page:
55+
Example of the Classic template rendered on sign-up sign-in page:
5456

5557
![Classic template screenshot](media/customize-ui/template-classic.png)
5658

5759
### Company branding
5860

5961
You can customize your Azure AD B2C pages with a banner logo, background image, and background color by using Microsoft Entra ID [Company branding](../active-directory/fundamentals/how-to-customize-branding.md). The company branding includes signing up, signing in, profile editing, and password resetting.
6062

61-
The following example shows a *Sign up and sign in* page with a custom logo, background image, using Ocean Blue template:
63+
The following example shows a *Sign-up and sign-in* page with a custom logo, background image, using Ocean Blue template:
6264

6365
![Branded sign-up/sign-in page served by Azure AD B2C](media/customize-ui/template-ocean-blue-branded.png)
6466

@@ -296,4 +298,4 @@ To rearrange the input fields on the sign-up page for local accounts form, follo
296298

297299
## Next steps
298300

299-
Find more information about how you can customize the user interface of your applications in [Customize the user interface of your application in Azure Active Directory B2C](customize-ui-with-html.md).
301+
Find more information about how you can customize the user interface of your applications in [Customize the user interface of your application in Azure Active Directory B2C](customize-ui-with-html.md).

0 commit comments

Comments
 (0)