Skip to content

Commit 4f0b5e0

Browse files
committed
2 parents cd89c36 + 961fec0 commit 4f0b5e0

File tree

220 files changed

+2688
-1535
lines changed

Some content is hidden

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

220 files changed

+2688
-1535
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

.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+
}

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ Any parameter name included as part of an OIDC or OAuth2 request can be mapped t
102102

103103
## Using claim resolvers
104104

105-
You can use claims resolvers with following elements:
105+
You can use claims resolvers with the following elements:
106106

107107
| Item | Element | Settings |
108108
| ----- | ----------------------- | --------|
@@ -119,16 +119,16 @@ You can use claims resolvers with following elements:
119119
|[RelyingParty](relyingparty.md#technicalprofile) technical profile| `OutputClaim`| 2 |
120120

121121
Settings:
122-
1. The `IncludeClaimResolvingInClaimsHandling` metadata must set to `true`
123-
1. The input or output claims attribute `AlwaysUseDefaultValue` must set to `true`
122+
1. The `IncludeClaimResolvingInClaimsHandling` metadata must be set to `true`.
123+
1. The input or output claims attribute `AlwaysUseDefaultValue` must be set to `true`.
124124

125125
## Claim resolvers samples
126126

127127
### RESTful technical profile
128128

129129
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.
130130

131-
The following example shows a RESTful technical profile:
131+
The following example shows a RESTful technical profile with this scenario:
132132

133133
```XML
134134
<TechnicalProfile Id="REST">
@@ -156,9 +156,9 @@ Using claim resolvers, you can prepopulate the sign-in name or direct sign-in to
156156

157157
### Dynamic UI customization
158158

159-
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.
159+
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-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.
160160

161-
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:
161+
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:
162162

163163
```XML
164164
<UserJourneyBehaviors>
@@ -170,7 +170,7 @@ The following example passes in the query string a parameter named **campaignId*
170170
</UserJourneyBehaviors>
171171
```
172172

173-
As a result Azure AD B2C sends the above parameters to the HTML content page:
173+
As a result, Azure AD B2C sends the above parameters to the HTML content page:
174174

175175
```
176176
/selfAsserted.aspx?campaignId=hawaii&language=en-US&app=0239a9cc-309c-4d41-87f1-31288feb2e82
@@ -207,7 +207,7 @@ With Azure Application Insights and claim resolvers you can gain insights on use
207207

208208
### Relying party policy
209209

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.
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 within the JWT.
211211

212212
```XML
213213
<RelyingParty>

articles/active-directory-b2c/phone-number-claims-transformations.md

Lines changed: 15 additions & 5 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/12/2020
12+
ms.date: 02/14/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -28,7 +28,8 @@ This claim validates the format of the phone number. If it is in a valid format,
2828

2929
| Item | TransformationClaimType | Data Type | Notes |
3030
| ---- | ----------------------- | --------- | ----- |
31-
| InputClaim | inputClaim | string | The claim of string type converting from. |
31+
| InputClaim | phoneNumberString | string | The string claim for the phone number. The phone number has to be in international format, complete with a leading "+" and country code. If input claim `country` is provided, the phone number is in local format (without the country code). |
32+
| InputClaim | country | string | [Optional] The string claim for the country code of the phone number in ISO3166 format (the two-letter ISO-3166 country code). |
3233
| OutputClaim | outputClaim | phoneNumber | The result of this claims transformation. |
3334

3435
The **ConvertStringToPhoneNumberClaim** claims transformation is always executed from a [validation technical profile](validation-technical-profile.md) that is called by a [self-asserted technical profile](self-asserted-technical-profile.md) or [display control](display-controls.md). The **UserMessageIfClaimsTransformationInvalidPhoneNumber** self-asserted technical profile metadata controls the error message that is presented to the user.
@@ -40,7 +41,8 @@ You can use this claims transformation to ensure that the provided string claim
4041
```XML
4142
<ClaimsTransformation Id="ConvertStringToPhoneNumber" TransformationMethod="ConvertStringToPhoneNumberClaim">
4243
<InputClaims>
43-
<InputClaim ClaimTypeReferenceId="phoneString" TransformationClaimType="inputClaim" />
44+
<InputClaim ClaimTypeReferenceId="phoneString" TransformationClaimType="phoneNumberString" />
45+
<InputClaim ClaimTypeReferenceId="countryCode" TransformationClaimType="country" />
4446
</InputClaims>
4547
<OutputClaims>
4648
<OutputClaim ClaimTypeReferenceId="phoneNumber" TransformationClaimType="outputClaim" />
@@ -59,11 +61,19 @@ The self-asserted technical profile that calls the validation technical profile
5961
</TechnicalProfile>
6062
```
6163

62-
### Example
64+
### Example 1
6365

6466
- Input claims:
65-
- **inputClaim**: +1 (123) 456-7890
67+
- **phoneNumberString**: 045 456-7890
68+
- **country**: DK
6669
- Output claims:
70+
- **outputClaim**: +450546148120
71+
72+
### Example 2
73+
74+
- Input claims:
75+
- **phoneNumberString**: +1 (123) 456-7890
76+
- Output claims:
6777
- **outputClaim**: +11234567890
6878

6979
## GetNationalNumberAndCountryCodeFromPhoneNumberString

articles/active-directory-domain-services/create-ou.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ When you create custom OUs in an Azure AD DS managed domain, you gain additional
5050
* A default OU for *AADDC Users* is created that contains all the synchronized user accounts from your Azure AD tenant.
5151
* You can't move users or groups from the *AADDC Users* OU to custom OUs that you create. Only user accounts or resources created in the Azure AD DS managed domain can be moved into custom OUs.
5252
* User accounts, groups, service accounts, and computer objects that you create under custom OUs aren't available in your Azure AD tenant.
53-
* These objects don't show up using the Azure AD Graph API or in the Azure AD UI; they're only available in your Azure AD DS managed domain.
53+
* These objects don't show up using the Microsoft Graph API or in the Azure AD UI; they're only available in your Azure AD DS managed domain.
5454

5555
## Create a custom OU
5656

articles/active-directory/app-provisioning/application-provisioning-configure-api.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Use MS Graph APIs to configure provisioning - Azure Active Directory | Microsoft Docs
3-
description: Need to set up provisioning for multiple instances of an application? Learn how to save time by using MS Graph APIs to automate the configuration of automatic provisioning.
2+
title: Use Microsoft Graph APIs to configure provisioning - Azure Active Directory | Microsoft Docs
3+
description: Need to set up provisioning for multiple instances of an application? Learn how to save time by using the Microsoft Graph APIs to automate the configuration of automatic provisioning.
44
services: active-directory
55
documentationcenter: ''
66
author: msmimart
@@ -22,7 +22,7 @@ ms.collection: M365-identity-device-management
2222

2323
# Configure provisioning using Microsoft Graph APIs
2424

25-
The Azure portal is a convenient way to configure provisioning for individual apps one at a time. But if you're creating several—or even hundreds—of instances of an application, it can be easier to automate app creation and configuration with Microsoft Graph APIs. This article outlines how to automate provisioning configuration through APIs. This method is commonly used for applications like [Amazon Web Services](../saas-apps/amazon-web-service-tutorial.md#configure-azure-ad-sso).
25+
The Azure portal is a convenient way to configure provisioning for individual apps one at a time. But if you're creating several—or even hundreds—of instances of an application, it can be easier to automate app creation and configuration with the Microsoft Graph APIs. This article outlines how to automate provisioning configuration through APIs. This method is commonly used for applications like [Amazon Web Services](../saas-apps/amazon-web-service-tutorial.md#configure-azure-ad-sso).
2626

2727
**Overview of steps for using Microsoft Graph APIs to automate provisioning configuration**
2828

articles/active-directory/app-provisioning/customize-application-attributes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ Applications and systems that support customization of the attribute list includ
108108
- Salesforce
109109
- ServiceNow
110110
- Workday
111-
- Azure Active Directory ([Azure AD Graph API default attributes](https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/entity-and-complex-type-reference#user-entity) and custom directory extensions are supported)
111+
- Azure Active Directory ([Microsoft Graph REST API v1.0 reference](https://docs.microsoft.com/graph/api/overview?view=graph-rest-1.0) and custom directory extensions are supported)
112112
- Apps that support [SCIM 2.0](https://tools.ietf.org/html/rfc7643), where attributes defined in the [core schema](https://tools.ietf.org/html/rfc7643) need to be added
113113

114114
> [!NOTE]
@@ -129,7 +129,7 @@ When editing the list of supported attributes, the following properties are prov
129129
- **Multi-value?** - Whether the attribute supports multiple values.
130130
- **Exact case?** - Whether the attributes values are evaluated in a case-sensitive way.
131131
- **API Expression** - Don't use, unless instructed to do so by the documentation for a specific provisioning connector (such as Workday).
132-
- **Referenced Object Attribute** - If it's a Reference type attribute, then this menu lets you select the table and attribute in the target application that contains the value associated with the attribute. For example, if you have an attribute named "Department" whose stored value references an object in a separate "Departments" table, you would select "Departments.Name". The reference tables and the primary ID fields supported for a given application are pre-configured and currently can't be edited using the Azure portal, but can be edited using the [Graph API](https://developer.microsoft.com/graph/docs/api-reference/beta/resources/synchronization-configure-with-custom-target-attributes).
132+
- **Referenced Object Attribute** - If it's a Reference type attribute, then this menu lets you select the table and attribute in the target application that contains the value associated with the attribute. For example, if you have an attribute named "Department" whose stored value references an object in a separate "Departments" table, you would select "Departments.Name". The reference tables and the primary ID fields supported for a given application are pre-configured and currently can't be edited using the Azure portal, but can be edited using the [Microsoft Graph API](https://developer.microsoft.com/graph/docs/api-reference/beta/resources/synchronization-configure-with-custom-target-attributes).
133133

134134
#### Provisioning a custom extension attribute to a SCIM compliant application
135135
The SCIM RFC defines a core user and group schema, while also allowing for extensions to the schema to meet your application's needs. To add a custom attribute to a SCIM application:

articles/active-directory/app-provisioning/export-import-provisioning-configuration.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: 'Export or import your provisioning configuration by using Graph API | Microsoft Docs'
3-
description: Learn how to export and import provisioning configuration using Graph API.
2+
title: 'Export or import your provisioning configuration by using the Microsoft Graph API | Microsoft Docs'
3+
description: Learn how to export and import provisioning configuration using the Microsoft Graph API.
44
services: active-directory
55
author: cmmdesai
66
documentationcenter: na
@@ -18,14 +18,14 @@ ms.author: chmutali
1818

1919
ms.collection: M365-identity-device-management
2020
---
21-
# Export or import your provisioning configuration by using Graph API
21+
# Export or import your provisioning configuration by using the Microsoft Graph API
2222

23-
You can use Microsoft Graph API and Graph Explorer to export your User Provisioning attribute mappings and schema to a JSON file and import it back into Azure AD. You can also use the steps captured here to create a backup of your provisioning configuration.
23+
You can use the Microsoft Graph API and the Microsoft Graph Explorer to export your User Provisioning attribute mappings and schema to a JSON file and import it back into Azure AD. You can also use the steps captured here to create a backup of your provisioning configuration.
2424

2525
## Step 1: Retrieve your Provisioning App Service Principal ID (Object ID)
2626

2727
1. Launch the [Azure portal](https://portal.azure.com), and navigate to the Properties section of your provisioning application. For e.g. if you want to export your *Workday to AD User Provisioning application* mapping navigate to the Properties section of that app.
28-
1. In the Properties section of your provisioning app, copy the GUID value associated with the *Object ID* field. This value is also called the **ServicePrincipalId** of your App and it will be used in Graph Explorer operations.
28+
1. In the Properties section of your provisioning app, copy the GUID value associated with the *Object ID* field. This value is also called the **ServicePrincipalId** of your App and it will be used in Microsoft Graph Explorer operations.
2929

3030
![Workday App Service Principal ID](./media/export-import-provisioning-configuration/wd_export_01.png)
3131

@@ -34,7 +34,7 @@ You can use Microsoft Graph API and Graph Explorer to export your User Provision
3434
1. Launch [Microsoft Graph Explorer](https://developer.microsoft.com/graph/graph-explorer)
3535
1. Click on the "Sign-In with Microsoft" button and sign-in using Azure AD Global Admin or App Admin credentials.
3636

37-
![Graph Sign-in](./media/export-import-provisioning-configuration/wd_export_02.png)
37+
![Microsoft Graph Sign-in](./media/export-import-provisioning-configuration/wd_export_02.png)
3838

3939
1. Upon successful sign-in, you will see the user account details in the left-hand pane.
4040

articles/active-directory/app-provisioning/how-provisioning-works.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ Note that the userPrincipalName for a guest user is often stored as "alias#EXT#@
8888

8989
## Provisioning cycles: Initial and incremental
9090

91-
When Azure AD is the source system, the provisioning service uses the [Differential Query feature of the Azure AD Graph API](https://msdn.microsoft.com/Library/Azure/Ad/Graph/howto/azure-ad-graph-api-differential-query) to monitor users and groups. The provisioning service runs an initial cycle against the source system and target system, followed by periodic incremental cycles.
91+
When Azure AD is the source system, the provisioning service uses the [Use delta query to track changes in Microsoft Graph data](https://docs.microsoft.com/graph/delta-query-overview) to monitor users and groups. The provisioning service runs an initial cycle against the source system and target system, followed by periodic incremental cycles.
9292

9393
### Initial cycle
9494

@@ -139,8 +139,8 @@ After the initial cycle, all other cycles will:
139139
140140
The provisioning service continues running back-to-back incremental cycles indefinitely, at intervals defined in the [tutorial specific to each application](../saas-apps/tutorial-list.md). Incremental cycles continue until one of the following events occurs:
141141

142-
- The service is manually stopped using the Azure portal, or using the appropriate Graph API command
143-
- A new initial cycle is triggered using the **Clear state and restart** option in the Azure portal, or using the appropriate Graph API command. This action clears any stored watermark and causes all source objects to be evaluated again.
142+
- The service is manually stopped using the Azure portal, or using the appropriate Microsoft Graph API command.
143+
- A new initial cycle is triggered using the **Clear state and restart** option in the Azure portal, or using the appropriate Microsoft Graph API command. This action clears any stored watermark and causes all source objects to be evaluated again.
144144
- A new initial cycle is triggered because of a change in attribute mappings or scoping filters. This action also clears any stored watermark and causes all source objects to be evaluated again.
145145
- The provisioning process goes into quarantine (see below) because of a high error rate, and stays in quarantine for more than four weeks. In this event, the service will be automatically disabled.
146146

0 commit comments

Comments
 (0)