Skip to content

Commit 491a5ec

Browse files
author
Farah Alyasari
authored
Merge branch 'master' into editpass4
2 parents 62194ec + a2f126f commit 491a5ec

File tree

1,193 files changed

+27285
-13894
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,193 files changed

+27285
-13894
lines changed

.openpublishing.redirection.json

Lines changed: 591 additions & 106 deletions
Large diffs are not rendered by default.

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: 65 additions & 6 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: 01/25/2019
12+
ms.date: 02/13/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -100,7 +100,29 @@ 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-
## How to use claim resolvers
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+
125+
## Claim resolvers samples
104126

105127
### RESTful technical profile
106128

@@ -116,12 +138,13 @@ The following example shows a RESTful technical profile:
116138
<Item Key="ServiceUrl">https://your-app.azurewebsites.net/api/identity</Item>
117139
<Item Key="AuthenticationType">None</Item>
118140
<Item Key="SendClaimsIn">Body</Item>
141+
<Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
119142
</Metadata>
120143
<InputClaims>
121-
<InputClaim ClaimTypeReferenceId="userLanguage" DefaultValue="{Culture:LCID}" />
122-
<InputClaim ClaimTypeReferenceId="policyName" DefaultValue="{Policy:PolicyId}" />
123-
<InputClaim ClaimTypeReferenceId="scope" DefaultValue="{OIDC:scope}" />
124-
<InputClaim ClaimTypeReferenceId="clientId" DefaultValue="{OIDC:ClientId}" />
144+
<InputClaim ClaimTypeReferenceId="userLanguage" DefaultValue="{Culture:LCID}" AlwaysUseDefaultValue="true" />
145+
<InputClaim ClaimTypeReferenceId="policyName" DefaultValue="{Policy:PolicyId}" AlwaysUseDefaultValue="true" />
146+
<InputClaim ClaimTypeReferenceId="scope" DefaultValue="{OIDC:scope}" AlwaysUseDefaultValue="true" />
147+
<InputClaim ClaimTypeReferenceId="clientId" DefaultValue="{OIDC:ClientId}" AlwaysUseDefaultValue="true" />
125148
</InputClaims>
126149
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
127150
</TechnicalProfile>
@@ -153,6 +176,17 @@ As a result Azure AD B2C sends the above parameters to the HTML content page:
153176
/selfAsserted.aspx?campaignId=hawaii&language=en-US&app=0239a9cc-309c-4d41-87f1-31288feb2e82
154177
```
155178

179+
### Content definition
180+
181+
In a [ContentDefinition](contentdefinitions.md) `LoadUri`, you can send claim resolvers to pull content from different places, based on the parameters used.
182+
183+
```XML
184+
<ContentDefinition Id="api.signuporsignin">
185+
<LoadUri>https://contoso.blob.core.windows.net/{Culture:LanguageName}/myHTML/unified.html</LoadUri>
186+
...
187+
</ContentDefinition>
188+
```
189+
156190
### Application Insights technical profile
157191

158192
With Azure Application Insights and claim resolvers you can gain insights on user behavior. In the Application Insights technical profile, you send input claims that are persisted to Azure Application Insights. For more information, see [Track user behavior in Azure AD B2C journeys by using Application Insights](analytics-with-application-insights.md). The following example sends the policy ID, correlation ID, language, and the client ID to Azure Application Insights.
@@ -170,3 +204,28 @@ With Azure Application Insights and claim resolvers you can gain insights on use
170204
</InputClaims>
171205
</TechnicalProfile>
172206
```
207+
208+
### Relying party policy
209+
210+
In a [Relying party](relyingparty.md) policy technical profile, you may want to send the tenant ID, or correlation ID to the relying party application.
211+
212+
```XML
213+
<RelyingParty>
214+
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
215+
<TechnicalProfile Id="PolicyProfile">
216+
<DisplayName>PolicyProfile</DisplayName>
217+
<Protocol Name="OpenIdConnect" />
218+
<OutputClaims>
219+
<OutputClaim ClaimTypeReferenceId="displayName" />
220+
<OutputClaim ClaimTypeReferenceId="givenName" />
221+
<OutputClaim ClaimTypeReferenceId="surname" />
222+
<OutputClaim ClaimTypeReferenceId="email" />
223+
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
224+
<OutputClaim ClaimTypeReferenceId="identityProvider" />
225+
<OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
226+
<OutputClaim ClaimTypeReferenceId="correlationId" AlwaysUseDefaultValue="true" DefaultValue="{Context:CorrelationId}" />
227+
</OutputClaims>
228+
<SubjectNamingInfo ClaimType="sub" />
229+
</TechnicalProfile>
230+
</RelyingParty>
231+
```

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: 27 additions & 4 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: 02/10/2020
12+
ms.date: 02/11/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -80,11 +80,11 @@ The **DataUri** element is used to specify the page identifier. Azure AD B2C use
8080
| `globalexception` | Displays an error page when an exception or an error is encountered. |
8181
| `providerselection` | Lists the identity providers that users can choose from during sign-in. |
8282
| `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-
| `unifiedssp` | Displays a form for signing in with a local account that's based on an email address or a user name. |
83+
| `unifiedssd` | Displays a form for signing in with a local account that's based on an email address or a user name. |
8484
| `multifactor` | Verifies phone numbers by using text or voice during sign-up or sign-in. |
8585
| `selfasserted` | Displays a form that enables users to create or update their profile. |
8686

87-
## Select a page layout
87+
### Select a page layout
8888

8989
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`.
9090

@@ -122,6 +122,29 @@ The format of the value must contain the word `contract`: _urn:com:microsoft:aad
122122
| `urn:com:microsoft:aad:b2c:elements:unifiedssp:1.0.0` | `urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:1.2.0` |
123123
| `urn:com:microsoft:aad:b2c:elements:unifiedssp:1.1.0` | `urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:1.2.0` |
124124

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. |
147+
125148
### LocalizedResourcesReferences
126149

127150
The **LocalizedResourcesReferences** element contains the following elements:
@@ -130,7 +153,7 @@ The **LocalizedResourcesReferences** element contains the following elements:
130153
| ------- | ----------- | ----------- |
131154
| LocalizedResourcesReference | 1:n | A list of localized resource references for the content definition. |
132155

133-
The **LocalizedResourcesReferences** element contains the following attributes:
156+
The **LocalizedResourcesReference** element contains the following attributes:
134157

135158
| Attribute | Required | Description |
136159
| --------- | -------- | ----------- |

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

articles/active-directory-b2c/manage-user-accounts-graph-api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ You might need to migrate an existing user store to a B2C tenant. You may want t
2222
For B2C tenants, there are two primary modes of communicating with the Graph API:
2323

2424
* For **interactive**, run-once tasks, you should act as an administrator account in the B2C tenant when you perform the tasks. This mode requires an administrator to sign in with credentials before that admin can perform any calls to the Graph API.
25-
* For **automated**, continuous tasks, you should use some type of service account that you provide with the necessary privileges to perform management tasks. In Azure AD, you can do this by registering an application and authenticating to Azure AD. This is done by using an *Application ID* that uses the [OAuth 2.0 client credentials grant](../active-directory/develop/service-to-service.md). In this case, the application acts as itself, not as a user, to call the Graph API.
25+
* For **automated**, continuous tasks, you should use some type of service account that you provide with the necessary privileges to perform management tasks. In Azure AD, you can do this by registering an application and authenticating to Azure AD. This is done by using an *Application ID* that uses the [OAuth 2.0 client credentials grant](../active-directory/develop/v2-oauth2-client-creds-grant-flow.md). In this case, the application acts as itself, not as a user, to call the Graph API.
2626

2727
In this article, you learn how to perform the automated use case. You'll build a .NET 4.5 `B2CGraphClient` that performs user create, read, update, and delete (CRUD) operations. The client will have a Windows command-line interface (CLI) that allows you to invoke various methods. However, the code is written to behave in a non-interactive, automated fashion.
2828

@@ -69,7 +69,7 @@ Your Azure AD B2C application now has the additional permissions required to del
6969

7070
## Get the sample code
7171

72-
The code sample is a .NET console application that uses the [Active Directory Authentication Library (ADAL)](../active-directory/develop/active-directory-authentication-libraries.md) to interact with Azure AD Graph API. Its code demonstrates how to call the API to programmatically manage users in an Azure AD B2C tenant.
72+
The code sample is a .NET console application that uses the [Active Directory Authentication Library (ADAL)](../active-directory/azuread-dev/active-directory-authentication-libraries.md) to interact with Azure AD Graph API. Its code demonstrates how to call the API to programmatically manage users in an Azure AD B2C tenant.
7373

7474
You can [download the sample archive](https://github.com/AzureADQuickStarts/B2C-GraphAPI-DotNet/archive/master.zip) (\*.zip) or clone the GitHub repository:
7575

articles/active-directory-b2c/oauth2-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
---
@@ -92,6 +92,7 @@ The technical profile also returns claims that aren't returned by the identity p
9292
| ResponseErrorCodeParamName | No | The name of the parameter that contains the error message returned over HTTP 200 (Ok). |
9393
| ExtraParamsInAccessTokenEndpointResponse | No | Contains the extra parameters that can be returned in the response from **AccessTokenEndpoint** by some identity providers. For example, the response from **AccessTokenEndpoint** contains an extra parameter such as `openid`, which is a mandatory parameter besides the access_token in a **ClaimsEndpoint** request query string. Multiple parameter names should be escaped and separated by the comma ',' delimiter. |
9494
| ExtraParamsInClaimsEndpointRequest | No | Contains the extra parameters that can be returned in the **ClaimsEndpoint** request by some identity providers. Multiple parameter names should be escaped and separated by the comma ',' delimiter. |
95+
| 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`. |
9596

9697
## Cryptographic keys
9798

articles/active-directory-b2c/openid-connect-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/24/2019
12+
ms.date: 02/13/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -84,6 +84,7 @@ The technical profile also returns claims that aren't returned by the identity p
8484
| UsePolicyInRedirectUri | No | Indicates whether to use a policy when constructing the redirect URI. When you configure your application in the identity provider, you need to specify the redirect URI. The redirect URI points to Azure AD B2C, `https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp`. If you specify `false`, you need to add a redirect URI for each policy you use. For example: `https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/{policy-name}/oauth2/authresp`. |
8585
| MarkAsFailureOnStatusCode5xx | No | Indicates whether a request to an external service should be marked as a failure if the Http status code is in the 5xx range. The default is `false`. |
8686
| DiscoverMetadataByTokenIssuer | No | Indicates whether the OIDC metadata should be discovered by using the issuer in the JWT token. |
87+
| 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`. |
8788

8889
## Cryptographic keys
8990

0 commit comments

Comments
 (0)