Skip to content

Commit f0d86c2

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into work-faq-update
2 parents e376628 + a7aed7e commit f0d86c2

File tree

2,970 files changed

+60597
-30907
lines changed

Some content is hidden

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

2,970 files changed

+60597
-30907
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
Thumbs.db
44

55
# Visual Studio and VS Code files
6-
.settings.json
76
.vscode/*
87
.vs/*
98
log/
@@ -24,3 +23,4 @@ AzureMigration.ps1
2423
!/.vscode/extensions.json
2524
.gitignore
2625
**/.vscode/settings.json
26+
!/.vscode/settings.json

.openpublishing.redirection.json

Lines changed: 680 additions & 113 deletions
Large diffs are not rendered by default.

.vscode/settings.json

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"markdown.docsetLanguages": [
3+
".NET Core CLI",
4+
"Apache",
5+
"ASPX",
6+
"AzCopy",
7+
"Azure CLI",
8+
"Azure CLI (Interactive)",
9+
"Azure Powershell",
10+
"Azure Powershell (Interactive)",
11+
"Bash",
12+
"C",
13+
"C#",
14+
"C# (Interactive)",
15+
"C++",
16+
"CSS",
17+
"DAX Power BI",
18+
"Diff",
19+
"Dockerfile",
20+
"DOS",
21+
"F#",
22+
"Go",
23+
"Gradle",
24+
"Groovy",
25+
"HTML",
26+
"HTTP",
27+
"Ini",
28+
"Java",
29+
"JavaScript",
30+
"JSON",
31+
"Kotlin",
32+
"Kusto",
33+
"Markdown",
34+
"MS Graph (Interactive)",
35+
"Objective C",
36+
"PHP",
37+
"Plaintext no highlight",
38+
"PostgreSQL & PL/pgSQL",
39+
"PowerShell",
40+
"PowerShell (Interactive)",
41+
"Properties",
42+
"Python",
43+
"R",
44+
"Razor CSHTML",
45+
"Ruby",
46+
"Scala",
47+
"Shell",
48+
"Solidity",
49+
"SQL",
50+
"Swift",
51+
"Terraform (HCL)",
52+
"TypeScript",
53+
"VB.NET",
54+
"XAML",
55+
"XML",
56+
"YAML"
57+
]
58+
}

CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Testing the new code owners feature in GitHub. Please contact Cory Fowler if you have questions.
22
# Cognitive Services
3-
articles/cognitive-services/ @diberry @erhopf, @nitinme
3+
articles/cognitive-services/ @diberry @erhopf @aahill @ievangelist @patrickfarley @nitinme
44

55
# DevOps
66
articles/ansible/ @TomArcherMsft

articles/active-directory-b2c/TOC.yml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
href: user-flow-self-service-password-reset.md
102102
- name: UX customization
103103
items:
104-
- name: User interface customization
104+
- name: Customize the UI
105105
href: customize-ui-overview.md
106106
- name: JavaScript and page layouts
107107
href: user-flow-javascript-overview.md
@@ -177,13 +177,9 @@
177177
- name: Customize the UI
178178
href: custom-policy-ui-customization.md
179179
displayName: ux, input, cors, html, css
180-
- name: Customize the UI dynamically
181-
href: custom-policy-ui-customization-dynamic.md
182180
- name: Custom email
183181
href: custom-email.md
184182
displayName: verification
185-
- name: Page layout
186-
href: page-layout.md
187183
- name: Enable JavaScript
188184
href: javascript-samples.md
189185
- name: Password complexity
@@ -355,6 +351,12 @@
355351
href: view-usage-reports.md
356352
- name: Account management
357353
href: manage-user-accounts-graph-api.md
354+
- name: Deploy with Azure Pipelines
355+
href: deploy-custom-policies-devops.md
356+
displayName: azure devops, ci/cd, cicd, custom policy, policies
357+
- name: Manage policies with PowerShell
358+
href: manage-custom-policies-powershell.md
359+
displayName: scripting, scripts, psh, custom policy
358360
- name: Audit logs
359361
href: view-audit-logs.md
360362
- name: Manage users - Azure portal
@@ -383,6 +385,8 @@
383385
href: custom-policy-developer-notes.md
384386
- name: Code samples
385387
href: https://azure.microsoft.com/resources/samples/?service=active-directory-b2c
388+
- name: Page layout versions
389+
href: page-layout.md
386390
- name: Cookie definitions
387391
href: cookie-definitions.md
388392
displayName: cookies, SameSite
@@ -421,4 +425,4 @@
421425
href: support-options.md
422426
displayName: technical
423427
- name: Videos
424-
href: https://azure.microsoft.com/documentation/videos/index/?services=active-directory-b2c
428+
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/analytics-with-application-insights.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.topic: conceptual
1111
ms.workload: identity
12-
ms.date: 10/12/2018
12+
ms.date: 02/11/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515

@@ -154,7 +154,7 @@ Add the profiles to the *TrustFrameworkExtensions.xml* file from the starter pac
154154
<InputClaims>
155155
<!-- Properties of an event are added through the syntax {property:NAME}, where NAME is property being added to the event. DefaultValue can be either a static value or a value that's resolved by one of the supported DefaultClaimResolvers. -->
156156
<InputClaim ClaimTypeReferenceId="PolicyId" PartnerClaimType="{property:Policy}" DefaultValue="{Policy:PolicyId}" />
157-
<InputClaim ClaimTypeReferenceId="CorrelationId" PartnerClaimType="{property:JourneyId}" />
157+
<InputClaim ClaimTypeReferenceId="CorrelationId" PartnerClaimType="{property:JourneyId}" DefaultValue="{Context:CorrelationId}" />
158158
<InputClaim ClaimTypeReferenceId="Culture" PartnerClaimType="{property:Culture}" DefaultValue="{Culture:RFC5646}" />
159159
</InputClaims>
160160
</TechnicalProfile>

articles/active-directory-b2c/azure-monitor.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ You authorize a user or group in your Azure AD B2C directory (the **Service Prov
4444

4545
This is the resource group containing the destination Azure storage account, event hub, or Log Analytics workspace to receive data from Azure Monitor. You specify the resource group name when you deploy the Azure Resource Manager template.
4646

47-
[Create a resource group](../azure-resource-manager/management/manage-resource-groups-portal.md#create-resource-groups) or choose an existing one the Azure Active Directory (Azure AD) tenant that contains your Azure subscription, *not* the directory that contains your Azure AD B2C tenant.
47+
[Create a resource group](../azure-resource-manager/management/manage-resource-groups-portal.md#create-resource-groups) or choose an existing one in the Azure Active Directory (Azure AD) tenant that contains your Azure subscription, *not* the directory that contains your Azure AD B2C tenant.
4848

4949
This example uses a resource group named *azure-ad-b2c-monitor* in the *Central US* region.
5050

articles/active-directory-b2c/b2clogin.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ There are several modifications you might need to make to migrate your applicati
4242

4343
* Change the redirect URL in your identity provider's applications to reference *b2clogin.com*.
4444
* Update your Azure AD B2C applications to use *b2clogin.com* in their user flow and token endpoint references.
45-
* Update any **Allowed Origins** that you've defined in the CORS settings for [user interface customization](custom-policy-ui-customization-dynamic.md).
45+
* Update any **Allowed Origins** that you've defined in the CORS settings for [user interface customization](custom-policy-ui-customization.md).
4646

4747
## Change identity provider redirect URLs
4848

@@ -117,4 +117,4 @@ For migrating Azure API Management APIs protected by Azure AD B2C, see the [Migr
117117
[msal-dotnet]: https://github.com/AzureAD/microsoft-authentication-library-for-dotnet
118118
[msal-dotnet-b2c]: https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/AAD-B2C-specifics
119119
[msal-js]: https://github.com/AzureAD/microsoft-authentication-library-for-js
120-
[msal-js-b2c]: ../active-directory/develop/msal-b2c-overview.md
120+
[msal-js-b2c]: ../active-directory/develop/msal-b2c-overview.md

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

Lines changed: 81 additions & 10 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/17/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -100,13 +100,47 @@ 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+
104+
### SAML
105+
106+
| Claim | Description | Example |
107+
| ----- | ----------- | --------|
108+
| {SAML:AuthnContextClassReferences} | The `AuthnContextClassRef` element value, from the SAML request. | urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport |
109+
| {SAML:NameIdPolicyFormat} | The `Format` attribute, from the `NameIDPolicy` element of the SAML request. | urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress |
110+
| {SAML:Issuer} | The SAML `Issuer` element value of the SAML request.| https://contoso.com |
111+
| {SAML:AllowCreate} | The `AllowCreate` attribute value, from the `NameIDPolicy` element of the SAML request. | True |
112+
| {SAML:ForceAuthn} | The `ForceAuthN` attribute value, from the `AuthnRequest` element of the SAML request. | True |
113+
| {SAML:ProviderName} | The `ProviderName` attribute value, from the `AuthnRequest` element of the SAML request.| Contoso.com |
114+
115+
## Using claim resolvers
116+
117+
You can use claims resolvers with the following elements:
118+
119+
| Item | Element | Settings |
120+
| ----- | ----------------------- | --------|
121+
|Application Insights technical profile |`InputClaim` | |
122+
|[Azure Active Directory](active-directory-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
123+
|[OAuth2](oauth2-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
124+
|[OpenID Connect](openid-connect-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
125+
|[Claims transformation](claims-transformation-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
126+
|[RESTful provider](restful-technical-profile.md) technical profile| `InputClaim`| 1, 2|
127+
|[SAML2](saml-technical-profile.md) technical profile| `OutputClaim`| 1, 2|
128+
|[Self-Asserted](self-asserted-technical-profile.md) technical profile| `InputClaim`, `OutputClaim`| 1, 2|
129+
|[ContentDefinition](contentdefinitions.md)| `LoadUri`| |
130+
|[ContentDefinitionParameters](relyingparty.md#contentdefinitionparameters)| `Parameter` | |
131+
|[RelyingParty](relyingparty.md#technicalprofile) technical profile| `OutputClaim`| 2 |
132+
133+
Settings:
134+
1. The `IncludeClaimResolvingInClaimsHandling` metadata must be set to `true`.
135+
1. The input or output claims attribute `AlwaysUseDefaultValue` must be set to `true`.
136+
137+
## Claim resolvers samples
104138

105139
### RESTful technical profile
106140

107141
In a [RESTful](restful-technical-profile.md) technical profile, you may want to send the user language, policy name, scope, and client ID. Based on these claims the REST API can run custom business logic, and if necessary raise a localized error message.
108142

109-
The following example shows a RESTful technical profile:
143+
The following example shows a RESTful technical profile with this scenario:
110144

111145
```XML
112146
<TechnicalProfile Id="REST">
@@ -116,12 +150,13 @@ The following example shows a RESTful technical profile:
116150
<Item Key="ServiceUrl">https://your-app.azurewebsites.net/api/identity</Item>
117151
<Item Key="AuthenticationType">None</Item>
118152
<Item Key="SendClaimsIn">Body</Item>
153+
<Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
119154
</Metadata>
120155
<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}" />
156+
<InputClaim ClaimTypeReferenceId="userLanguage" DefaultValue="{Culture:LCID}" AlwaysUseDefaultValue="true" />
157+
<InputClaim ClaimTypeReferenceId="policyName" DefaultValue="{Policy:PolicyId}" AlwaysUseDefaultValue="true" />
158+
<InputClaim ClaimTypeReferenceId="scope" DefaultValue="{OIDC:scope}" AlwaysUseDefaultValue="true" />
159+
<InputClaim ClaimTypeReferenceId="clientId" DefaultValue="{OIDC:ClientId}" AlwaysUseDefaultValue="true" />
125160
</InputClaims>
126161
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
127162
</TechnicalProfile>
@@ -133,9 +168,9 @@ Using claim resolvers, you can prepopulate the sign-in name or direct sign-in to
133168

134169
### Dynamic UI customization
135170

136-
Azure AD B2C enables you to pass query string parameters to your HTML content definition endpoints so that you can dynamically render the page content. For example, you can change the background image on the Azure AD B2C sign-up or sign-in page based on a custom parameter that you pass from your web or mobile application. For more information, see [Dynamically configure the UI by using custom policies in Azure Active Directory B2C](custom-policy-ui-customization-dynamic.md). You can also localize your HTML page based on a language parameter, or you can change the content based on the client ID.
171+
Azure AD B2C enables you to pass query string parameters to your HTML content definition endpoints to dynamically render the page content. For example, this allows the ability to modify the background image on the Azure AD B2C sign-up or sign-in page based on a custom parameter that you pass from your web or mobile application. For more information, see [Dynamically configure the UI by using custom policies in Azure Active Directory B2C](custom-policy-ui-customization.md). You can also localize your HTML page based on a language parameter, or you can change the content based on the client ID.
137172

138-
The following example passes in the query string a parameter named **campaignId** with a value of `hawaii`, a **language** code of `en-US`, and **app** representing the client ID:
173+
The following example passes in the query string parameter named **campaignId** with a value of `hawaii`, a **language** code of `en-US`, and **app** representing the client ID:
139174

140175
```XML
141176
<UserJourneyBehaviors>
@@ -147,12 +182,23 @@ The following example passes in the query string a parameter named **campaignId*
147182
</UserJourneyBehaviors>
148183
```
149184

150-
As a result Azure AD B2C sends the above parameters to the HTML content page:
185+
As a result, Azure AD B2C sends the above parameters to the HTML content page:
151186

152187
```
153188
/selfAsserted.aspx?campaignId=hawaii&language=en-US&app=0239a9cc-309c-4d41-87f1-31288feb2e82
154189
```
155190

191+
### Content definition
192+
193+
In a [ContentDefinition](contentdefinitions.md) `LoadUri`, you can send claim resolvers to pull content from different places, based on the parameters used.
194+
195+
```XML
196+
<ContentDefinition Id="api.signuporsignin">
197+
<LoadUri>https://contoso.blob.core.windows.net/{Culture:LanguageName}/myHTML/unified.html</LoadUri>
198+
...
199+
</ContentDefinition>
200+
```
201+
156202
### Application Insights technical profile
157203

158204
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 +216,28 @@ With Azure Application Insights and claim resolvers you can gain insights on use
170216
</InputClaims>
171217
</TechnicalProfile>
172218
```
219+
220+
### Relying party policy
221+
222+
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 within the JWT.
223+
224+
```XML
225+
<RelyingParty>
226+
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
227+
<TechnicalProfile Id="PolicyProfile">
228+
<DisplayName>PolicyProfile</DisplayName>
229+
<Protocol Name="OpenIdConnect" />
230+
<OutputClaims>
231+
<OutputClaim ClaimTypeReferenceId="displayName" />
232+
<OutputClaim ClaimTypeReferenceId="givenName" />
233+
<OutputClaim ClaimTypeReferenceId="surname" />
234+
<OutputClaim ClaimTypeReferenceId="email" />
235+
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
236+
<OutputClaim ClaimTypeReferenceId="identityProvider" />
237+
<OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
238+
<OutputClaim ClaimTypeReferenceId="correlationId" AlwaysUseDefaultValue="true" DefaultValue="{Context:CorrelationId}" />
239+
</OutputClaims>
240+
<SubjectNamingInfo ClaimType="sub" />
241+
</TechnicalProfile>
242+
</RelyingParty>
243+
```

0 commit comments

Comments
 (0)