Skip to content

Commit 00793d1

Browse files
Merge branch 'master' into tsi-refresh
2 parents 05a2b35 + 00663b0 commit 00793d1

File tree

1,595 files changed

+28261
-14380
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,595 files changed

+28261
-14380
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: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,16 @@
450450
"redirect_url": "https://docs.microsoft.com/previous-versions/azure/batch-ai/overview-what-happened-batch-ai",
451451
"redirect_document_id": true
452452
},
453+
{
454+
"source_path": "articles/azure-arc/servers/quickstart-onboard-portal.md",
455+
"redirect_url": "/azure/azure-arc/servers/onboard-portal",
456+
"redirect_document_id": false
457+
},
458+
{
459+
"source_path": "articles/azure-arc/servers/quickstart-onboard-powershell.md",
460+
"redirect_url": "/azure/azure-arc/servers/onboard-service-principal",
461+
"redirect_document_id": false
462+
},
453463
{
454464
"source_path": "articles/batch-ai/quickstart-create-cluster-cli.md",
455465
"redirect_url": "https://docs.microsoft.com/previous-versions/azure/batch-ai/quickstart-create-cluster-cli",
@@ -3722,7 +3732,12 @@
37223732
},
37233733
{
37243734
"source_path": "articles/azure-resource-manager/resource-group-create-multiple.md",
3725-
"redirect_url": "/azure/azure-resource-manager/templates/create-multiple-instances",
3735+
"redirect_url": "/azure/azure-resource-manager/templates/copy-resources",
3736+
"redirect_document_id": false
3737+
},
3738+
{
3739+
"source_path": "articles/azure-resource-manager/templates/create-multiple-instances.md",
3740+
"redirect_url": "/azure/azure-resource-manager/templates/copy-resources",
37263741
"redirect_document_id": false
37273742
},
37283743
{
@@ -4652,7 +4667,7 @@
46524667
},
46534668
{
46544669
"source_path": "articles/resource-group-create-multiple.md",
4655-
"redirect_url": "/azure/azure-resource-manager/templates/create-multiple-instances",
4670+
"redirect_url": "/azure/azure-resource-manager/templates/copy-resources",
46564671
"redirect_document_id": false
46574672
},
46584673
{
@@ -5645,6 +5660,11 @@
56455660
"redirect_url": "/azure/active-directory-b2c/custom-policy-get-started",
56465661
"redirect_document_id": true
56475662
},
5663+
{
5664+
"source_path": "articles/active-directory-b2c/custom-policy-ui-customization-dynamic.md",
5665+
"redirect_url": "/azure/active-directory-b2c/custom-policy-ui-customization",
5666+
"redirect_document_id": false
5667+
},
56485668
{
56495669
"source_path": "articles/active-directory-b2c/active-directory-b2c-overview-custom.md",
56505670
"redirect_url": "/azure/active-directory-b2c/custom-policy-overview",
@@ -12027,7 +12047,7 @@
1202712047
},
1202812048
{
1202912049
"source_path": "articles/azure-resource-manager/resource-manager-property-copy.md",
12030-
"redirect_url": "/azure/azure-resource-manager/templates/create-multiple-instances",
12050+
"redirect_url": "/azure/azure-resource-manager/templates/copy-properties",
1203112051
"redirect_document_id": false
1203212052
},
1203312053
{
@@ -12037,7 +12057,7 @@
1203712057
},
1203812058
{
1203912059
"source_path": "articles/azure-resource-manager/resource-manager-sequential-loop.md",
12040-
"redirect_url": "/azure/azure-resource-manager/templates/create-multiple-instances",
12060+
"redirect_url": "/azure/azure-resource-manager/templates/copy-resources",
1204112061
"redirect_document_id": false
1204212062
},
1204312063
{
@@ -35410,6 +35430,16 @@
3541035430
"redirect_url": "/azure/iot-accelerators/iot-accelerators-device-simulation-advanced-device",
3541135431
"redirect_document_id": false
3541235432
},
35433+
{
35434+
"source_path": "articles/active-directory/conditional-access/technical-reference.md",
35435+
"redirect_url": "/azure/active-directory/conditional-access/concept-conditional-access-conditions",
35436+
"redirect_document_id": false
35437+
},
35438+
{
35439+
"source_path": "articles/active-directory/conditional-access/conditions.md",
35440+
"redirect_url": "/azure/active-directory/conditional-access/concept-conditional-access-conditions",
35441+
"redirect_document_id": true
35442+
},
3541335443
{
3541435444
"source_path": "articles/active-directory/develop/active-directory-v2-devquickstarts-angular-dotnet.md",
3541535445
"redirect_url": "/azure/active-directory/develop/GuidedSetups/active-directory-javascriptspa",
@@ -48500,6 +48530,26 @@
4850048530
"source_path": "articles/media-services/previous/media-services-configure-fmle-live-encoder.md",
4850148531
"redirect_url": "/azure/media-services/previous/media-services-configure-wirecast-live-encoder/",
4850248532
"redirect_document_id": false
48533+
},
48534+
{
48535+
"source_path": "articles/virtual-machines/linux/ansible-install-configure.md",
48536+
"redirect_url": "/azure/ansible/ansible-install-configure",
48537+
"redirect_document_id": false
48538+
},
48539+
{
48540+
"source_path": "articles/virtual-machines/linux/ansible-create-vm.md",
48541+
"redirect_url": "/azure/ansible/ansible-create-vm",
48542+
"redirect_document_id": false
48543+
},
48544+
{
48545+
"source_path": "articles/virtual-machines/linux/ansible-manage-linux-vm.md",
48546+
"redirect_url": "/azure/ansible/ansible-manage-linux-vm",
48547+
"redirect_document_id": false
48548+
},
48549+
{
48550+
"source_path": "articles/app-service/containers/tutorial-java-enterprise-postgresql-app.md",
48551+
"redirect_url": "/azure/app-service/containers/configure-language-java",
48552+
"redirect_document_id": false
4850348553
}
4850448554
]
4850548555
}

.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: 1 addition & 3 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,8 +177,6 @@
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

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/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)