You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory-b2c/add-ropc-policy.md
+11-12Lines changed: 11 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,11 +9,13 @@ manager: CelesteDG
9
9
ms.service: active-directory
10
10
11
11
ms.topic: how-to
12
-
ms.date: 12/16/2022
12
+
ms.date: 12/16/2023
13
13
ms.custom:
14
14
ms.author: kengaderdus
15
15
ms.subservice: B2C
16
16
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.
17
19
---
18
20
19
21
# Set up a resource owner password credentials flow in Azure Active Directory B2C
@@ -38,9 +40,9 @@ The following flows aren't supported:
38
40
-**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.
39
41
-**Confidential client flow**: The application client ID is validated, but the application secret isn't validated.
40
42
41
-
When using the ROPC flow, consider the following:
43
+
When using the ROPC flow, consider the following limitations:
42
44
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).
44
46
- 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.
45
47
-[Session Management](session-behavior.md), including [keep me signed-in (KMSI)](session-behavior.md#enable-keep-me-signed-in-kmsi), isn't applicable.
46
48
@@ -68,13 +70,14 @@ When using the ROPC flow, consider the following:
68
70
69
71
::: zone pivot="b2c-custom-policy"
70
72
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).
73
75
74
76
## Create a resource owner policy
75
77
76
78
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:
78
81
79
82
```xml
80
83
<ClaimsSchema>
@@ -372,12 +375,8 @@ A successful response looks like the following example:
372
375
373
376
***Symptom** - You run the ROPC flow, and get the following message: *AADB2C90057: The provided application isn't configured to allow the 'OAuth' Implicit flow*.
374
377
***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.
376
379
377
380
## Use a native SDK or App-Auth
378
381
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/).
Copy file name to clipboardExpand all lines: articles/active-directory-b2c/api-connectors-overview.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,13 +5,15 @@ description: Use Microsoft Entra API connectors to customize and extend your use
5
5
ms.service: active-directory
6
6
ms.subservice: B2C
7
7
ms.topic: how-to
8
-
ms.date: 12/16/2022
8
+
ms.date: 12/13/2023
9
9
10
10
ms.author: kengaderdus
11
11
author: kengaderdus
12
12
manager: CelesteDG
13
13
ms.custom: "it-pro"
14
14
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.
15
17
---
16
18
17
19
# 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
27
29
-**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.
28
30
-**Verify user identity**. Use an identity verification service or external identity data sources to add an extra level of security to account creation decisions.
29
31
-**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.
31
33
-**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.
32
34
-**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.
33
35
@@ -45,7 +47,7 @@ There are three places in a user flow where you can enable an API connector:
45
47
46
48
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:
47
49
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.
49
51
- Implement an allow or blocklist based on social identity.
50
52
51
53
### Before creating the user
@@ -243,7 +245,7 @@ If you reference a REST API technical profile directly from a user journey, the
243
245
244
246
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.
245
247
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.
247
249
248
250
You can use serverless cloud functions, like [HTTP triggers in Azure Functions](../azure-functions/functions-bindings-http-webhook-trigger.md) for ease of development.
249
251
@@ -269,7 +271,7 @@ See the following articles for examples of using a RESTful technical profile:
269
271
-[Walkthrough: Add an API connector to a sign-up user flow](add-api-connector.md)
270
272
-[Walkthrough: Add REST API claims exchanges to custom policies in Azure Active Directory B2C](add-api-connector-token-enrichment.md)
271
273
-[Secure your REST API services](secure-rest-api.md)
Copy file name to clipboardExpand all lines: articles/active-directory-b2c/configure-user-input.md
+13-10Lines changed: 13 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,17 +9,20 @@ manager: CelesteDG
9
9
ms.service: active-directory
10
10
11
11
ms.topic: how-to
12
-
ms.date: 12/28/2022
12
+
ms.date: 12/13/2023
13
13
ms.custom:
14
14
ms.author: godonnell
15
15
ms.subservice: B2C
16
16
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
+
17
20
---
18
21
# Add user attributes and customize user input in Azure Active Directory B2C
In this article, you collect a new attributeduring 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.
23
26
24
27
> [!IMPORTANT]
25
28
> 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
42
45
43
46
## Provide optional claims to your app
44
47
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:
46
49
47
50
1. Select your policy (for example, "B2C_1_SignupSignin") to open it.
48
51
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").
50
53
1. Select **Save**.
51
54
52
55
## Configure user attributes input type
@@ -72,10 +75,10 @@ To provide a set list of values for the city attribute:
72
75
1. Select your policy (for example, "B2C_1_SignupSignin") to open it.
73
76
1. On the **Languages** page for the user flow, select the language that you want to customize.
74
77
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).
76
79
1. Create a `LocalizedCollections` attribute.
77
80
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.
79
82
80
83
*`ElementId` is the user attribute that this `LocalizedCollections` attribute is a response to.
81
84
*`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
123
126
1. Select your policy (for example, "B2C_1_SignupSignin") to open it.
124
127
1. To test your policy, select **Run user flow**.
125
128
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**
127
130
128
131
::: zone-end
129
132
130
133
::: zone pivot="b2c-custom-policy"
131
134
132
135
## Overview
133
136
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:
135
138
136
139
1. Define a "city" claim.
137
140
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
336
339
1. Select your relying party policy, for example `B2C_1A_signup_signin`.
337
340
1. For **Application**, select a web application that you [previously registered](tutorial-register-applications.md). The **Reply URL** should show `https://jwt.ms`.
338
341
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.
340
343
341
344
::: zone-end
342
345
@@ -442,4 +445,4 @@ After you add the localization element, [edit the content definition with the lo
442
445
-[Customize the user interface with HTML templates in Azure Active Directory B2C](customize-ui-with-html.md).
Copy file name to clipboardExpand all lines: articles/active-directory-b2c/custom-policies-series-collect-user-input.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ ms.service: active-directory
10
10
11
11
ms.topic: how-to
12
12
ms.custom: b2c-docs-improvements
13
-
ms.date: 11/06/2023
13
+
ms.date: 12/13/2023
14
14
ms.author: kengaderdus
15
15
ms.reviewer: yoelh
16
16
ms.subservice: B2C
@@ -467,12 +467,12 @@ After you complete [step 6](#step-6---update-relying-party), the `ContosoCustomP
467
467
```
468
468
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).
469
469
470
-
## Step 3 - Upload custom policy file
470
+
## Step 7 - Upload custom policy file
471
471
472
472
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**.
473
473
474
474
475
-
## Step 4 - Test the custom policy
475
+
## Step 8 - Test the custom policy
476
476
477
477
1. Under **Custom policies**, select **B2C_1A_CONTOSOCUSTOMPOLICY**.
478
478
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`.
Copy file name to clipboardExpand all lines: articles/active-directory-b2c/customize-ui.md
+8-6Lines changed: 8 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,11 +9,13 @@ manager: CelesteDG
9
9
ms.service: active-directory
10
10
11
11
ms.topic: how-to
12
-
ms.date: 12/16/2022
12
+
ms.date: 12/13/2023
13
13
ms.custom: "b2c-support"
14
14
ms.author: kengaderdus
15
15
ms.subservice: B2C
16
16
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.
17
19
---
18
20
19
21
# 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
38
40
39
41
### Ocean Blue
40
42
41
-
Example of the Ocean Blue template rendered on signup and signin page:
43
+
Example of the Ocean Blue template rendered on sign-up and sign-in page:
42
44
43
45

44
46
45
47
### Slate Gray
46
48
47
-
Example of the Slate Gray template rendered on signup signin page:
49
+
Example of the Slate Gray template rendered on sign-up sign-in page:
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.
60
62
61
-
The following example shows a *Signup and signin* 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:
62
64
63
65

64
66
@@ -296,4 +298,4 @@ To rearrange the input fields on the sign-up page for local accounts form, follo
296
298
297
299
## Next steps
298
300
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