Skip to content

Commit 024ae28

Browse files
committed
Merge branch 'master' into v-tea-CI-114092
2 parents d6b0140 + 1357b64 commit 024ae28

File tree

1,229 files changed

+27248
-12901
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,229 files changed

+27248
-12901
lines changed

.openpublishing.redirection.json

Lines changed: 587 additions & 102 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/TOC.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,6 @@
182182
- name: Custom email
183183
href: custom-email.md
184184
displayName: verification
185-
- name: Page layout
186-
href: page-layout.md
187185
- name: Enable JavaScript
188186
href: javascript-samples.md
189187
- name: Password complexity
@@ -383,6 +381,8 @@
383381
href: custom-policy-developer-notes.md
384382
- name: Code samples
385383
href: https://azure.microsoft.com/resources/samples/?service=active-directory-b2c
384+
- name: Page layout versions
385+
href: page-layout.md
386386
- name: Cookie definitions
387387
href: cookie-definitions.md
388388
displayName: cookies, SameSite
@@ -421,4 +421,4 @@
421421
href: support-options.md
422422
displayName: technical
423423
- name: Videos
424-
href: https://azure.microsoft.com/documentation/videos/index/?services=active-directory-b2c
424+
href: https://azure.microsoft.com/documentation/videos/index/?services=active-directory-b2c

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

Lines changed: 2 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: 09/10/2018
12+
ms.date: 02/13/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -258,6 +258,7 @@ The following technical profile deletes a social user account using **alternativ
258258
| UserMessageIfClaimsPrincipalAlreadyExists | No | If an error is to be raised (see RaiseErrorIfClaimsPrincipalAlreadyExists attribute description), specify the message to show to the user if user object already exists. The value can be [localized](localization.md).|
259259
| ApplicationObjectId | No | The application object identifier for extension attributes. Value: ObjectId of an application. For more information, see [Use custom attributes in a custom profile edit policy](custom-policy-custom-attributes.md). |
260260
| ClientId | No | The client identifier for accessing the tenant as a third party. For more information, see [Use custom attributes in a custom profile edit policy](custom-policy-custom-attributes.md) |
261+
| IncludeClaimResolvingInClaimsHandling  | No | For input and output claims, specifies whether [claims resolution](claim-resolver-overview.md) is included in the technical profile. Possible values: `true`, or `false` (default). If you want to use a claims resolver in the technical profile, set this to `true`. |
261262

262263

263264

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

Lines changed: 23 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: 01/25/2019
12+
ms.date: 02/13/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -100,6 +100,28 @@ Any parameter name included as part of an OIDC or OAuth2 request can be mapped t
100100
| ----- | ----------------------- | --------|
101101
| {oauth2:access_token} | The access token. | N/A |
102102

103+
## Using claim resolvers
104+
105+
You can use claims resolvers with following elements:
106+
107+
| Item | Element | Settings |
108+
| ----- | ----------------------- | --------|
109+
|Application Insights technical profile |`InputClaim` | |
110+
|[Azure Active Directory](active-directory-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
111+
|[OAuth2](oauth2-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
112+
|[OpenID Connect](openid-connect-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
113+
|[Claims transformation](claims-transformation-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
114+
|[RESTful provider](restful-technical-profile.md) technical profile| `InputClaim`| 1, 2|
115+
|[SAML2](saml-technical-profile.md) technical profile| `OutputClaim`| 1, 2|
116+
|[Self-Asserted](self-asserted-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
117+
|[ContentDefinition](contentdefinitions.md)| `LoadUri`| |
118+
|[ContentDefinitionParameters](relyingparty.md#contentdefinitionparameters)| `Parameter` | |
119+
|[RelyingParty](relyingparty.md#technicalprofile) technical profile| `OutputClaim`| 2 |
120+
121+
Settings:
122+
1. The `IncludeClaimResolvingInClaimsHandling` metadata must set to `true`
123+
1. The input or output claims attribute `AlwaysUseDefaultValue` must set to `true`
124+
103125
## How to use claim resolvers
104126

105127
### RESTful technical profile

articles/active-directory-b2c/claims-transformation-technical-profile.md

Lines changed: 7 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: 09/10/2018
12+
ms.date: 02/13/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -96,6 +96,12 @@ The claims transformation technical profile enables you to execute a claims tran
9696
</UserJourney>
9797
```
9898

99+
## Metadata
100+
101+
| Attribute | Required | Description |
102+
| --------- | -------- | ----------- |
103+
| IncludeClaimResolvingInClaimsHandling  | No | For input and output claims, specifies whether [claims resolution](claim-resolver-overview.md) is included in the technical profile. Possible values: `true`, or `false` (default). If you want to use a claims resolver in the technical profile, set this to `true`. |
104+
99105
## Use a validation technical profile
100106

101107
A claims transformation technical profile can be used to validate information. In the following example, the [self asserted technical profile](self-asserted-technical-profile.md) named **LocalAccountSignUpWithLogonEmail** asks the user to enter the email twice, then calls the [validation technical profile](validation-technical-profile.md) named **Validate-Email** to validate the emails. The **Validate-Email** technical profile calls the claims transformation **AssertEmailAreEqual** to compare the two claims **email** and **emailRepeat**, and throw an exception if they are not equal according to the specified comparison.

articles/active-directory-b2c/claimsschema.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
ms.workload: identity
1010
ms.topic: reference
11-
ms.date: 03/02/2020
11+
ms.date: 02/12/2020
1212
ms.author: marsma
1313
ms.subservice: B2C
1414
---
@@ -47,7 +47,7 @@ The **ClaimType** element contains the following elements:
4747
| Element | Occurrences | Description |
4848
| ------- | ----------- | ----------- |
4949
| DisplayName | 1:1 | The title that's displayed to users on various screens. The value can be [localized](localization.md). |
50-
| DataType | 1:1 | The type of the claim. The data types of boolean, date, dateTime, int, long, string, stringCollection can be used. Primitive data type represents the equivalent of C# variable data type. stringCollection represents a collection of strings. For more information see [C# Types and variables](https://docs.microsoft.com/dotnet/csharp/tour-of-csharp/types-and-variables). Date follows ISO 8601 convention. |
50+
| DataType | 1:1 | The type of the claim. The data types of boolean, date, dateTime, int, long, string, stringCollection and phoneNumber can be used. Primitive data type represents the equivalent of C# variable data type. stringCollection represents a collection of strings. For more information see [C# Types and variables](https://docs.microsoft.com/dotnet/csharp/tour-of-csharp/types-and-variables). Date follows ISO 8601 convention. |
5151
| DefaultPartnerClaimTypes | 0:1 | The partner default claim types to use for a specified protocol. The value can be overwritten in the **PartnerClaimType** specified in the **InputClaim** or **OutputClaim** elements. Use this element to specify the default name for a protocol. |
5252
| Mask | 0:1 | An optional string of masking characters that can be applied when displaying the claim. For example, the phone number 324-232-4343 can be masked as XXX-XXX-4343. |
5353
| UserHelpText | 0:1 | A description of the claim type that can be helpful for users to understand its purpose. The value can be [localized](localization.md). |

articles/active-directory-b2c/contentdefinitions.md

Lines changed: 78 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
2-
title: ContentDefinitions - Azure Active Directory B2C | Microsoft Docs
2+
title: ContentDefinitions
3+
titleSuffix: Azure AD B2C
34
description: Specify the ContentDefinitions element of a custom policy in Azure Active Directory B2C.
45
services: active-directory-b2c
56
author: mmacy
@@ -8,7 +9,7 @@ manager: celestedg
89
ms.service: active-directory
910
ms.workload: identity
1011
ms.topic: reference
11-
ms.date: 09/10/2018
12+
ms.date: 02/11/2020
1213
ms.author: marsma
1314
ms.subservice: B2C
1415
---
@@ -52,7 +53,6 @@ The metadata of the **LocalAccountSignUpWithLogonEmail** self-asserted technical
5253
...
5354
```
5455

55-
5656
## ContentDefinition
5757

5858
The **ContentDefinition** element contains the following attribute:
@@ -68,22 +68,82 @@ The **ContentDefinition** element contains the following elements:
6868
| LoadUri | 1:1 | A string that contains the URL of the HTML5 page for the content definition. |
6969
| RecoveryUri | 0:1 | A string that contains the URL of the HTML page for displaying an error relating to the content definition. |
7070
| DataUri | 1:1 | A string that contains the relative URL of an HTML file that provides the user experience to invoke for the step. |
71-
| Metadata | 1:1 | A collection of key/value pairs that contains the metadata utilized by the content definition. |
71+
| Metadata | 0:1 | A collection of key/value pairs that contains the metadata utilized by the content definition. |
7272
| LocalizedResourcesReferences | 0:1 | A collection of localized resources references. Use this element to customize the localization of a user interface and claims attribute. |
7373

7474
### DataUri
7575

76-
The **DataUri** element is used to specify the page identifier. Azure AD B2C uses the page identifier to load and initiate UI elements and client side JavaScript. The format of the value is `urn:com:microsoft:aad:b2c:elements:page-name:version`. The following table lists the values and descriptions of the page identifiers you can use.
76+
The **DataUri** element is used to specify the page identifier. Azure AD B2C uses the page identifier to load and initiate UI elements and client side JavaScript. The format of the value is `urn:com:microsoft:aad:b2c:elements:page-name:version`. The following table lists the page identifiers you can use.
7777

78-
| Value | Description |
78+
| Page identifier | Description |
7979
| ----- | ----------- |
80-
| `urn:com:microsoft:aad:b2c:elements:globalexception:1.1.0` | Displays an error page when an exception or an error is encountered. |
81-
| `urn:com:microsoft:aad:b2c:elements:idpselection:1.0.0` | Lists the identity providers that users can choose from during sign-in. |
82-
| `urn:com:microsoft:aad:b2c:elements:unifiedssp:1.0.0` | Displays a form for signing in with a local account that's based on an email address or a user name. This value also provides the “keep me sign-in functionality” and “Forgot your password?” link. |
83-
| `urn:com:microsoft:aad:b2c:elements:unifiedssd:1.0.0` | Displays a form for signing in with a local account that's based on an email address or a user name. |
84-
| `urn:com:microsoft:aad:b2c:elements:multifactor:1.1.0` | Verifies phone numbers by using text or voice during sign-up or sign-in. |
85-
| `urn:com:microsoft:aad:b2c:elements:selfasserted:1.1.0` | Displays a form that enables users to create or update their profile. |
80+
| `globalexception` | Displays an error page when an exception or an error is encountered. |
81+
| `providerselection` | Lists the identity providers that users can choose from during sign-in. |
82+
| `unifiedssp` | Displays a form for signing in with a local account that's based on an email address or a user name. This value also provides the “keep me sign-in functionality” and “Forgot your password?” link. |
83+
| `unifiedssd` | Displays a form for signing in with a local account that's based on an email address or a user name. |
84+
| `multifactor` | Verifies phone numbers by using text or voice during sign-up or sign-in. |
85+
| `selfasserted` | Displays a form that enables users to create or update their profile. |
86+
87+
### Select a page layout
88+
89+
You can enable [JavaScript client-side code](javascript-samples.md) by inserting `contract` between `elements` and the page type. For example, `urn:com:microsoft:aad:b2c:elements:contract:page-name:version`.
90+
91+
[!INCLUDE [active-directory-b2c-public-preview](../../includes/active-directory-b2c-public-preview.md)]
92+
93+
The [version](page-layout.md) part of the `DataUri` specifies the package of content containing HTML, CSS, and JavaScript for the user interface elements in your policy. If you intend to enable JavaScript client-side code, the elements you base your JavaScript on must be immutable. If they're not immutable, any changes could cause unexpected behavior on your user pages. To prevent these issues, enforce the use of a page layout and specify a page layout version. Doing so ensures that all content definitions you’ve based your JavaScript on are immutable. Even if you don’t intend to enable JavaScript, you still need to specify the page layout version for your pages.
94+
95+
The following example shows the **DataUri** of `selfasserted` version `1.2.0`:
96+
97+
```xml
98+
<ContentDefinition Id="api.localaccountpasswordreset">
99+
<LoadUri>~/tenant/templates/AzureBlue/selfAsserted.cshtml</LoadUri>
100+
<RecoveryUri>~/common/default_page_error.html</RecoveryUri>
101+
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:1.2.0</DataUri>
102+
<Metadata>
103+
<Item Key="DisplayName">Local account change password page</Item>
104+
</Metadata>
105+
</ContentDefinition>
106+
```
107+
108+
#### Migrating to page layout
86109

110+
The format of the value must contain the word `contract`: _urn:com:microsoft:aad:b2c:elements:**contract**:page-name:version_. To specify a page layout in your custom policies that use an old **DataUri** value, use following table to migrate to the new format.
111+
112+
| Old DataUri value | New DataUri value |
113+
| ----------------- | ----------------- |
114+
| `urn:com:microsoft:aad:b2c:elements:globalexception:1.0.0` | `urn:com:microsoft:aad:b2c:elements:contract:globalexception:1.2.0` |
115+
| `urn:com:microsoft:aad:b2c:elements:globalexception:1.1.0` | `urn:com:microsoft:aad:b2c:elements:contract:globalexception:1.2.0` |
116+
| `urn:com:microsoft:aad:b2c:elements:idpselection:1.0.0` | `urn:com:microsoft:aad:b2c:elements:contract:providerselection:1.2.0` |
117+
| `urn:com:microsoft:aad:b2c:elements:multifactor:1.0.0` | `urn:com:microsoft:aad:b2c:elements:contract:multifactor:1.2.0` |
118+
| `urn:com:microsoft:aad:b2c:elements:multifactor:1.1.0` | `urn:com:microsoft:aad:b2c:elements:contract:multifactor:1.2.0` |
119+
| `urn:com:microsoft:aad:b2c:elements:selfasserted:1.0.0` | `urn:com:microsoft:aad:b2c:elements:contract:selfasserted:1.2.0` |
120+
| `urn:com:microsoft:aad:b2c:elements:selfasserted:1.1.0` | `urn:com:microsoft:aad:b2c:elements:contract:selfasserted:1.2.0` |
121+
| `urn:com:microsoft:aad:b2c:elements:unifiedssd:1.0.0` | `urn:com:microsoft:aad:b2c:elements:contract:unifiedssd:1.2.0` |
122+
| `urn:com:microsoft:aad:b2c:elements:unifiedssp:1.0.0` | `urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:1.2.0` |
123+
| `urn:com:microsoft:aad:b2c:elements:unifiedssp:1.1.0` | `urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:1.2.0` |
124+
125+
126+
### Metadata
127+
128+
A **Metadata** element contains the following elements:
129+
130+
| Element | Occurrences | Description |
131+
| ------- | ----------- | ----------- |
132+
| Item | 0:n | The metadata that relates to the content definition. |
133+
134+
The **Item** element of the **Metadata** element contains the following attributes:
135+
136+
| Attribute | Required | Description |
137+
| --------- | -------- | ----------- |
138+
| Key | Yes | The metadata key. |
139+
140+
#### Metadata keys
141+
142+
Content definition supports following metadata items:
143+
144+
| Key | Required | Description |
145+
| --------- | -------- | ----------- |
146+
| DisplayName | No | A string that contains the name of the content definition. |
87147

88148
### LocalizedResourcesReferences
89149

@@ -93,26 +153,13 @@ The **LocalizedResourcesReferences** element contains the following elements:
93153
| ------- | ----------- | ----------- |
94154
| LocalizedResourcesReference | 1:n | A list of localized resource references for the content definition. |
95155

96-
The **LocalizedResourcesReferences** element contains the following attributes:
156+
The **LocalizedResourcesReference** element contains the following attributes:
97157

98158
| Attribute | Required | Description |
99159
| --------- | -------- | ----------- |
100160
| Language | Yes | A string that contains a supported language for the policy per RFC 5646 - Tags for Identifying Languages. |
101161
| LocalizedResourcesReferenceId | Yes | The identifier of the **LocalizedResources** element. |
102162

103-
The following example shows a sign-up or sign-in content definition:
104-
105-
```XML
106-
<ContentDefinition Id="api.signuporsignin">
107-
<LoadUri>~/tenant/default/unified.cshtml</LoadUri>
108-
<RecoveryUri>~/common/default_page_error.html</RecoveryUri>
109-
<DataUri>urn:com:microsoft:aad:b2c:elements:unifiedssp:1.0.0</DataUri>
110-
<Metadata>
111-
<Item Key="DisplayName">Signin and Signup</Item>
112-
</Metadata>
113-
</ContentDefinition>
114-
```
115-
116163
The following example shows a sign-up or sign-in content definition with a reference to localization for English, French and Spanish:
117164

118165
```XML
@@ -150,3 +197,8 @@ The ID attribute of the **ContentDefinition** element specifies the type of page
150197
| **api.selfasserted.profileupdate** | [updateprofile.cshtml](https://login.microsoftonline.com/static/tenant/default/updateProfile.cshtml) | **Profile update page** - Displays a form that users can access to update their profile. This page is similar to the social account sign up page, except for the password entry fields. |
151198
| **api.signuporsignin** | [unified.cshtml](https://login.microsoftonline.com/static/tenant/default/unified.cshtml) | **Unified sign-up or sign-in page** - Handles the user sign-up and sign-in process. Users can use enterprise identity providers, social identity providers such as Facebook or Google+, or local accounts. |
152199

200+
## Next steps
201+
202+
For an example of customizing the user interface by using content definitions, see:
203+
204+
[Customize the user interface of your application using a custom policy](custom-policy-ui-customization.md)

articles/active-directory-b2c/custom-policy-developer-notes.md

Lines changed: 3 additions & 3 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: 03/18/2019
12+
ms.date: 02/12/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -68,7 +68,7 @@ Custom policy/Identity Experience Framework capabilities are under constant and
6868
| Relying Party OAUTH1 | | | | Not supported. |
6969
| Relying Party OAUTH2 | | | X | |
7070
| Relying Party OIDC | | | X | |
71-
| Relying Party SAML | X | | | |
71+
| Relying Party SAML | |X | | |
7272
| Relying Party WSFED | X | | | |
7373
| REST API with basic and certificate auth | | | X | For example, Azure Logic Apps. |
7474

@@ -81,7 +81,7 @@ Custom policy/Identity Experience Framework capabilities are under constant and
8181
| Azure Email subsystem for email verification | | | X | |
8282
| Multi-language support| | | X | |
8383
| Predicate Validations | | | X | For example, password complexity. |
84-
| Using third party email service providers | X | | | |
84+
| Using third party email service providers | |X | | |
8585

8686
### Content Definition
8787

0 commit comments

Comments
 (0)