Skip to content

Commit 8e84f7d

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into asc-melvyn-vmva
2 parents f814bf6 + f728353 commit 8e84f7d

File tree

1,905 files changed

+24270
-26303
lines changed

Some content is hidden

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

1,905 files changed

+24270
-26303
lines changed

.openpublishing.redirection.json

Lines changed: 318 additions & 6 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/claim-resolver-overview.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: reference
12-
ms.date: 03/30/2020
12+
ms.date: 04/21/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -86,7 +86,14 @@ The following sections list available claim resolvers.
8686
| {Context:IPAddress} | The user IP address. | 11.111.111.11 |
8787
| {Context:KMSI} | Indicates whether [Keep me signed in](custom-policy-keep-me-signed-in.md) checkbox is selected. | true |
8888

89-
### Non-protocol parameters
89+
### Claims
90+
91+
| Claim | Description | Example |
92+
| ----- | ----------- | --------|
93+
| {Claim:claim type} | An identifier of a claim type already defined in the ClaimsSchema section in the policy file or parent policy file. For example: `{Claim:displayName}`, or `{Claim:objectId}`. | A claim type value.|
94+
95+
96+
### OAuth2 key-value parameters
9097

9198
Any parameter name included as part of an OIDC or OAuth2 request can be mapped to a claim in the user journey. For example, the request from the application might include a query string parameter with a name of `app_session`, `loyalty_number`, or any custom query string.
9299

@@ -114,6 +121,7 @@ Any parameter name included as part of an OIDC or OAuth2 request can be mapped t
114121
| {SAML:AllowCreate} | The `AllowCreate` attribute value, from the `NameIDPolicy` element of the SAML request. | True |
115122
| {SAML:ForceAuthn} | The `ForceAuthN` attribute value, from the `AuthnRequest` element of the SAML request. | True |
116123
| {SAML:ProviderName} | The `ProviderName` attribute value, from the `AuthnRequest` element of the SAML request.| Contoso.com |
124+
| {SAML:RelayState} | The `RelayState` query string parameter.|
117125

118126
## Using claim resolvers
119127

articles/active-directory-b2c/custom-policy-custom-attributes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ To enable custom attributes in your policy, provide **Application ID** and Appli
7070
<Item Key="ApplicationObjectId"></Item>
7171
</Metadata>
7272
</TechnicalProfile>
73-
<TechnicalProfiles>
73+
</TechnicalProfiles>
7474
</ClaimsProvider>
7575
```
7676

articles/active-directory-b2c/custom-policy-overview.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ These three types of policy files are used:
3939
- **Extensions file** - holds the unique configuration changes for your tenant.
4040
- **Relying Party (RP) file** - The single task-focused file that is invoked directly by the application or service (also, known as a Relying Party). Each unique task requires its own RP and depending on branding requirements, the number might be "total of applications x total number of use cases."
4141

42-
User flows in Azure AD B2C follow the three-file pattern depicted above, but the developer only sees the RP file, while the Azure portal makes changes in the background to the extensions file.
42+
User flows in Azure AD B2C follow the file pattern depicted above, but the developer only sees the RP file, while the Azure portal makes changes in the background to the extensions file.
43+
44+
Although there are three types of policy files, you aren't restricted to only three files. You may have multiple files of each file type. For example, if you don't want to make changes to your Extensions file, you can create an Extensions2 file to further extend the Extensions file.
4345

4446
## Custom policy core concepts
4547

articles/active-directory-b2c/identity-provider-azure-ad-multi-tenant-custom.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ To enable sign-in for users from a specific Azure AD organization, you need to r
4040
https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
4141
```
4242
43-
For example, `https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/authresp`.
43+
For example, `https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp`.
4444
4545
1. Select **Register**. Record the **Application (client) ID** for use in a later step.
4646
1. Select **Certificates & secrets**, and then select **New client secret**.
@@ -53,10 +53,10 @@ If you want to get the `family_name` and `given_name` claims from Azure AD, you
5353
1. Sign in to the [Azure portal](https://portal.azure.com). Search for and select **Azure Active Directory**.
5454
1. From the **Manage** section, select **App registrations**.
5555
1. Select the application you want to configure optional claims for in the list.
56-
1. From the **Manage** section, select **Token configuration (preview)**.
56+
1. From the **Manage** section, select **Token configuration**.
5757
1. Select **Add optional claim**.
58-
1. Select the token type you want to configure.
59-
1. Select the optional claims to add.
58+
1. For the **Token type**, select **ID**.
59+
1. Select the optional claims to add, `family_name` and `given_name`.
6060
1. Click **Add**.
6161
6262
## Create a policy key

articles/active-directory-b2c/identity-provider-azure-ad-single-tenant-custom.md

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: conceptual
12-
ms.date: 02/11/2020
12+
ms.date: 04/20/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -24,40 +24,8 @@ This article shows you how to enable sign-in for users from an Azure Active Dire
2424

2525
Complete the steps in [Get started with custom policies in Azure Active Directory B2C](custom-policy-get-started.md).
2626

27-
## Register an application
2827

29-
To enable sign-in for users from a specific Azure AD organization, you need to register an application within the organizational Azure AD tenant.
30-
31-
1. Sign in to the [Azure portal](https://portal.azure.com).
32-
1. Make sure you're using the directory that contains your organizational Azure AD tenant (for example, contoso.com). Select the **Directory + subscription filter** in the top menu, and then choose the directory that contains your Azure AD tenant.
33-
1. Choose **All services** in the top-left corner of the Azure portal, and then search for and select **App registrations**.
34-
1. Select **New registration**.
35-
1. Enter a **Name** for your application. For example, `Azure AD B2C App`.
36-
1. Accept the default selection of **Accounts in this organizational directory only** for this application.
37-
1. For the **Redirect URI**, accept the value of **Web**, and enter the following URL in all lowercase letters, where `your-B2C-tenant-name` is replaced with the name of your Azure AD B2C tenant.
38-
39-
```
40-
https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
41-
```
42-
43-
For example, `https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/authresp`.
44-
45-
1. Select **Register**. Record the **Application (client) ID** for use in a later step.
46-
1. Select **Certificates & secrets**, and then select **New client secret**.
47-
1. Enter a **Description** for the secret, select an expiration, and then select **Add**. Record the **Value** of the secret for use in a later step.
48-
49-
## Configuring optional claims
50-
51-
If you want to get the `family_name` and `given_name` claims from Azure AD, you can configure optional claims for your application in the Azure portal UI or application manifest. For more information, see [How to provide optional claims to your Azure AD app](../active-directory/develop/active-directory-optional-claims.md).
52-
53-
1. Sign in to the [Azure portal](https://portal.azure.com). Search for and select **Azure Active Directory**.
54-
1. From the **Manage** section, select **App registrations**.
55-
1. Select the application you want to configure optional claims for in the list.
56-
1. From the **Manage** section, select **Token configuration (preview)**.
57-
1. Select **Add optional claim**.
58-
1. Select the token type you want to configure.
59-
1. Select the optional claims to add.
60-
1. Click **Add**.
28+
[!INCLUDE [active-directory-b2c-identity-provider-azure-ad](../../includes/active-directory-b2c-identity-provider-azure-ad.md)]
6129

6230
## Create a policy key
6331

articles/active-directory-b2c/identity-provider-azure-ad-single-tenant.md

Lines changed: 9 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: conceptual
12-
ms.date: 08/08/2019
12+
ms.date: 04/20/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
ms.custom: fasttrack-edit
@@ -19,51 +19,28 @@ ms.custom: fasttrack-edit
1919

2020
To use an Azure Active Directory (Azure AD) as an [identity provider](authorization-code-flow.md) in Azure AD B2C, you need to create an application that represents it. This article shows you how to enable sign-in for users from a specific Azure AD organization using a user flow in Azure AD B2C.
2121

22-
## Create an Azure AD app
23-
24-
To enable sign-in for users from a specific Azure AD organization, you need to register an application within the organizational Azure AD tenant, which is not the same as your Azure AD B2C tenant.
25-
26-
1. Sign in to the [Azure portal](https://portal.azure.com).
27-
2. Make sure you're using the directory that contains your Azure AD tenant. Select the **Directory + subscription** filter in the top menu and choose the directory that contains your Azure AD tenant. This is not the same tenant as your Azure AD B2C tenant.
28-
3. Choose **All services** in the top-left corner of the Azure portal, and then search for and select **App registrations**.
29-
4. Select **New registration**.
30-
5. Enter a name for your application. For example, `Azure AD B2C App`.
31-
6. Accept the selection of **Accounts in this organizational directory only** for this application.
32-
7. For the **Redirect URI**, accept the value of **Web**, and enter the following URL in all lowercase letters, where `your-B2C-tenant-name` is replaced with the name of your Azure AD B2C tenant. For example, `https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp`:
33-
34-
```
35-
https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
36-
```
37-
38-
All URLs should now be using [b2clogin.com](b2clogin.md).
39-
40-
8. Click **Register**. Copy the **Application (client) ID** to be used later.
41-
9. Select **Certificates & secrets** in the application menu, and then select **New client secret**.
42-
10. Enter a name for the client secret. For example, `Azure AD B2C App Secret`.
43-
11. Select the expiration period. For this application, accept the selection of **In 1 year**.
44-
12. Select **Add** and copy the value of the new client secret that is displayed to be used later.
22+
[!INCLUDE [active-directory-b2c-identity-provider-azure-ad](../../includes/active-directory-b2c-identity-provider-azure-ad.md)]
4523

4624
## Configure Azure AD as an identity provider
4725

4826
1. Make sure you're using the directory that contains Azure AD B2C tenant. Select the **Directory + subscription** filter in the top menu and choose the directory that contains your Azure AD B2C tenant.
4927
1. Choose **All services** in the top-left corner of the Azure portal, and then search for and select **Azure AD B2C**.
5028
1. Select **Identity providers**, and then select **New OpenID Connect provider**.
5129
1. Enter a **Name**. For example, enter *Contoso Azure AD*.
52-
1. For **Metadata url**, enter the following URL replacing `your-AD-tenant-domain` with the domain name of your Azure AD tenant:
30+
1. For **Metadata url**, enter the following URL replacing `{tenant}` with the domain name of your Azure AD tenant:
5331

5432
```
55-
https://login.microsoftonline.com/your-AD-tenant-domain/.well-known/openid-configuration
33+
https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration
5634
```
5735
58-
For example, `https://login.microsoftonline.com/contoso.onmicrosoft.com/.well-known/openid-configuration`.
59-
60-
**Do not** use the Azure AD v2.0 metadata endpoint, for example `https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration`. Doing so results in an error similar to `AADB2C: A claim with id 'UserId' was not found, which is required by ClaimsTransformation 'CreateAlternativeSecurityId' with id 'CreateAlternativeSecurityId' in policy 'B2C_1_SignUpOrIn' of tenant 'contoso.onmicrosoft.com'` when attempting to sign in.
36+
For example, `https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration`.
6137
6238
1. For **Client ID**, enter the application ID that you previously recorded.
6339
1. For **Client secret**, enter the client secret that you previously recorded.
64-
1. Leave the default values for **Scope**, **Response type**, and **Response mode**.
65-
1. (Optional) Enter a value for **Domain_hint**. For example, *ContosoAD*. This is the value to use when referring to this identity provider using *domain_hint* in the request.
66-
1. Under **Identity provider claims mapping**, enter the following claims mapping values:
40+
1. For the **Scope**, enter the `openid profile`.
41+
1. Leave the default values for **Response type**, and **Response mode**.
42+
1. (Optional) For the **Domain hint**, enter `contoso.com`. For more information, see [Set up direct sign-in using Azure Active Directory B2C](direct-signin.md#redirect-sign-in-to-a-social-provider).
43+
1. Under **Identity provider claims mapping**, select the following claims:
6744
6845
* **User ID**: *oid*
6946
* **Display name**: *name*

articles/active-directory-b2c/json-transformations.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: reference
12-
ms.date: 12/10/2019
12+
ms.date: 04/21/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -219,6 +219,39 @@ In the following example, the claims transformation extracts the `id` element fr
219219
- Output claims:
220220
- **extractedClaim**: 6353399
221221

222+
## GetSingleItemFromJson
223+
224+
Gets the first element from a JSON data.
225+
226+
| Item | TransformationClaimType | Data Type | Notes |
227+
| ---- | ----------------------- | --------- | ----- |
228+
| InputClaim | inputJson | string | The ClaimTypes that are used by the claims transformation to get the item from the JSON data. |
229+
| OutputClaim | key | string | The first element key in the JSON. |
230+
| OutputClaim | value | string | The first element value in the JSON. |
231+
232+
In the following example, the claims transformation extracts the first element (given name) from the JSON data.
233+
234+
```XML
235+
<ClaimsTransformation Id="GetGivenNameFromResponse" TransformationMethod="GetSingleItemFromJson">
236+
<InputClaims>
237+
<InputClaim ClaimTypeReferenceId="json" TransformationClaimType="inputJson" />
238+
</InputClaims>
239+
<OutputClaims>
240+
<OutputClaim ClaimTypeReferenceId="givenNameKey" TransformationClaimType="key" />
241+
<OutputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="value" />
242+
</OutputClaims>
243+
</ClaimsTransformation>
244+
```
245+
246+
### Example
247+
248+
- Input claims:
249+
- **inputJson**: {"givenName": "Emilty", "lastName": "Smith"}
250+
- Output claims:
251+
- **key**: givenName
252+
- **value**: Emilty
253+
254+
222255
## GetSingleValueFromJsonArray
223256

224257
Gets the first element from a JSON data array.
@@ -290,3 +323,5 @@ Output claim:
290323
}
291324
}
292325
```
326+
327+

0 commit comments

Comments
 (0)