Skip to content

Commit f2c7bf9

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into ac-aspnet-qs
2 parents 0c9559c + df6a1a3 commit f2c7bf9

File tree

172 files changed

+1880
-1554
lines changed

Some content is hidden

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

172 files changed

+1880
-1554
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ articles/directories.txt
2222
AzureMigration.ps1
2323

2424
!/.vscode/extensions.json
25-
articles/data-lake-analytics/.vscode/settings.json
2625
.gitignore
26+
**/.vscode/settings.json

.openpublishing.redirection.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5705,6 +5705,11 @@
57055705
"redirect_url": "/azure/connectors/connectors-create-api-sharepoint",
57065706
"redirect_document_id": false
57075707
},
5708+
{
5709+
"source_path": "articles/connectors/connectors-native-query.md",
5710+
"redirect_url": "/azure/logic-apps/logic-apps-perform-data-operations#filter-array-action",
5711+
"redirect_document_id": false
5712+
},
57085713
{
57095714
"source_path": "articles/logic-apps/logic-apps-enterprise-integration-as2-encode.md",
57105715
"redirect_url": "/azure/logic-apps/logic-apps-enterprise-integration-as2",
@@ -43236,7 +43241,7 @@
4323643241
},
4323743242
{
4323843243
"source_path": "articles/iot-central/howto-connect-devkit.md",
43239-
"redirect_url": "/azure/iot-central/core/howto-connect-devki/t",
43244+
"redirect_url": "/azure/iot-central/core/howto-connect-devkit/",
4324043245
"redirect_document_id": true
4324143246
},
4324243247
{

articles/active-directory/develop/v2-oauth2-on-behalf-of-flow.md

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.workload: identity
1414
ms.tgt_pltfrm: na
1515
ms.devlang: na
1616
ms.topic: conceptual
17-
ms.date: 11/19/2019
17+
ms.date: 1/3/2020
1818
ms.author: ryanwi
1919
ms.reviewer: hirsin
2020
ms.custom: aaddev
@@ -31,22 +31,22 @@ This article describes how to program directly against the protocol in your appl
3131

3232
> [!NOTE]
3333
>
34-
> - The Microsoft identity platform endpoint doesn't support all scenarios and features. To determine whether you should use the Microsoft identity platform endpoint, read about [Microsoft identity platform limitations](active-directory-v2-limitations.md). Specifically, known client applications aren't supported for apps with Microsoft account (MSA) and Azure AD audiences. Thus, a common consent pattern for OBO will not work for clients that sign in both personal and work or school accounts. To learn more about how to handle this step of the flow, see [Gaining consent for the middle-tier application](#gaining-consent-for-the-middle-tier-application).
34+
> - The Microsoft identity platform endpoint doesn't support all scenarios and features. To determine whether you should use the Microsoft identity platform endpoint, read about [Microsoft identity platform limitations](active-directory-v2-limitations.md).
3535
> - As of May 2018, some implicit-flow derived `id_token` can't be used for OBO flow. Single-page apps (SPAs) should pass an **access** token to a middle-tier confidential client to perform OBO flows instead. For more info about which clients can perform OBO calls, see [limitations](#client-limitations).
3636
3737
## Protocol diagram
3838

39-
Assume that the user has been authenticated on an application using the [OAuth 2.0 authorization code grant flow](v2-oauth2-auth-code-flow.md). At this point, the application has an access token *for API A* (token A) with the user’s claims and consent to access the middle-tier web API (API A). Now, API A needs to make an authenticated request to the downstream web API (API B).
39+
Assume that the user has been authenticated on an application using the [OAuth 2.0 authorization code grant flow](v2-oauth2-auth-code-flow.md) or another login flow. At this point, the application has an access token *for API A* (token A) with the user’s claims and consent to access the middle-tier web API (API A). Now, API A needs to make an authenticated request to the downstream web API (API B).
4040

4141
The steps that follow constitute the OBO flow and are explained with the help of the following diagram.
4242

4343
![Shows the OAuth2.0 On-Behalf-Of flow](./media/v2-oauth2-on-behalf-of-flow/protocols-oauth-on-behalf-of-flow.png)
4444

4545
1. The client application makes a request to API A with token A (with an `aud` claim of API A).
4646
1. API A authenticates to the Microsoft identity platform token issuance endpoint and requests a token to access API B.
47-
1. The Microsoft identity platform token issuance endpoint validates API A's credentials with token A and issues the access token for API B (token B).
48-
1. Token B is set in the authorization header of the request to API B.
49-
1. Data from the secured resource is returned by API B.
47+
1. The Microsoft identity platform token issuance endpoint validates API A's credentials along with token A and issues the access token for API B (token B) to API A.
48+
1. Token B is set by API A in the authorization header of the request to API B.
49+
1. Data from the secured resource is returned by API B to API A, and from there to the client.
5050

5151
> [!NOTE]
5252
> In this scenario, the middle-tier service has no user interaction to obtain the user's consent to access the downstream API. Therefore, the option to grant access to the downstream API is presented upfront as a part of the consent step during authentication. To learn how to set this up for your app, see [Gaining consent for the middle-tier application](#gaining-consent-for-the-middle-tier-application).
@@ -70,7 +70,7 @@ When using a shared secret, a service-to-service access token request contains t
7070
| `grant_type` | Required | The type of token request. For a request using a JWT, the value must be `urn:ietf:params:oauth:grant-type:jwt-bearer`. |
7171
| `client_id` | Required | The application (client) ID that [the Azure portal - App registrations](https://go.microsoft.com/fwlink/?linkid=2083908) page has assigned to your app. |
7272
| `client_secret` | Required | The client secret that you generated for your app in the Azure portal - App registrations page. |
73-
| `assertion` | Required | The value of the token used in the request. |
73+
| `assertion` | Required | The value of the token used in the request. This token must have an audience of the app making this OBO request (the app denoted by the `client-id` field). |
7474
| `scope` | Required | A space separated list of scopes for the token request. For more information, see [scopes](v2-permissions-and-consent.md). |
7575
| `requested_token_use` | Required | Specifies how the request should be processed. In the OBO flow, the value must be set to `on_behalf_of`. |
7676

@@ -157,7 +157,7 @@ The following example shows a success response to a request for an access token
157157
```
158158

159159
> [!NOTE]
160-
> The above access token is a v1.0-formatted token. This is because the token is provided based on the resource being accessed. The Microsoft Graph requests v1.0 tokens, so Microsoft identity platform produces v1.0 access tokens when a client requests tokens for Microsoft Graph. Only applications should look at access tokens. Clients should not need to inspect them.
160+
> The above access token is a v1.0-formatted token. This is because the token is provided based on the **resource** being accessed. The Microsoft Graph is setup to accept v1.0 tokens, so Microsoft identity platform produces v1.0 access tokens when a client requests tokens for Microsoft Graph. Only applications should look at access tokens. Clients **must not** inspect them.
161161
162162
### Error response example
163163

@@ -189,29 +189,24 @@ Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6IkFRQUJBQUFBQUFCbmZpRy1tQTZOVG
189189

190190
## Gaining consent for the middle-tier application
191191

192-
Depending on the audience for your application, you may consider different strategies for ensuring that the OBO flow is successful. In all cases, the ultimate goal is to ensure proper consent is given. How that occurs, however, depends on which users your application supports.
193-
194-
### Consent for Azure AD-only applications
192+
Depending on the architecture or usage of your application, you may consider different strategies for ensuring that the OBO flow is successful. In all cases, the ultimate goal is to ensure proper consent is given so that the client app can call the middle-tier app, and the middle tier app has permission to call the back-end resource.
195193

196-
#### /.default and combined consent
194+
> [!NOTE]
195+
> Previously the Microsoft account system (personal accounts) did not support the "Known client application" field, nor could it show combined consent. This has been added and all apps in the Microsoft identity platform can use the known client application approach for gettign consent for OBO calls.
197196
198-
For applications that only need to sign in work or school accounts, the traditional "Known Client Applications" approach is sufficient. The middle tier application adds the client to the known client applications list in its manifest, and then the client can trigger a combined consent flow for both itself and the middle tier application. On the Microsoft identity platform endpoint, this is done using the [`/.default` scope](v2-permissions-and-consent.md#the-default-scope). When triggering a consent screen using known client applications and `/.default`, the consent screen will show permissions for both the client to the middle tier API, and also request whatever permissions are required by the middle-tier API. The user provides consent for both applications, and then the OBO flow works.
197+
### /.default and combined consent
199198

200-
At this time, the personal Microsoft account system does not support combined consent and so this approach does not work for apps that want to specifically sign in personal accounts. Personal Microsoft accounts being used as guest accounts in a tenant are handled using the Azure AD system, and can go through combined consent.
199+
The middle tier application adds the client to the known client applications list in its manifest, and then the client can trigger a combined consent flow for both itself and the middle tier application. On the Microsoft identity platform endpoint, this is done using the [`/.default` scope](v2-permissions-and-consent.md#the-default-scope). When triggering a consent screen using known client applications and `/.default`, the consent screen will show permissions for **both** the client to the middle tier API, and also request whatever permissions are required by the middle-tier API. The user provides consent for both applications, and then the OBO flow works.
201200

202-
#### Pre-authorized applications
201+
### Pre-authorized applications
203202

204-
A feature of the application portal is "pre-authorized applications". In this way, a resource can indicate that a given application always has permission to receive certain scopes. This is primarily useful to make connections between a front-end client and a back-end resource more seamless. A resource can declare multiple pre-authorized applications - any such application can request these permissions in an OBO flow and receive them without the user providing consent.
203+
Resources can indicate that a given application always has permission to receive certain scopes. This is primarily useful to make connections between a front-end client and a back-end resource more seamless. A resource can declare multiple pre-authorized applications - any such application can request these permissions in an OBO flow and receive them without the user providing consent.
205204

206-
#### Admin consent
205+
### Admin consent
207206

208207
A tenant admin can guarantee that applications have permission to call their required APIs by providing admin consent for the middle tier application. To do this, the admin can find the middle tier application in their tenant, open the required permissions page, and choose to give permission for the app. To learn more about admin consent, see the [consent and permissions documentation](v2-permissions-and-consent.md).
209208

210-
### Consent for Azure AD + Microsoft account applications
211-
212-
Because of restrictions in the permissions model for personal accounts and the lack of a governing tenant, the consent requirements for personal accounts are a bit different from Azure AD. There is no tenant to provide tenant-wide consent for, nor is there the ability to do combined consent. Thus, other strategies present themselves - note that these work for applications that only need to support Azure AD accounts as well.
213-
214-
#### Use of a single application
209+
### Use of a single application
215210

216211
In some scenarios, you may only have a single pairing of middle-tier and front-end client. In this scenario, you may find it easier to make this a single application, negating the need for a middle-tier application altogether. To authenticate between the front-end and the web API, you can use cookies, an id_token, or an access token requested for the application itself. Then, request consent from this single application to the back-end resource.
217212

articles/active-directory/devices/troubleshoot-hybrid-join-windows-current.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ This field indicates whether the device is registered with Azure AD as a persona
101101

102102
#### AzureAdJoined : YES
103103

104-
This field indicates whether the device is joined with Azure AD.
104+
This field indicates whether the device is joined. The value will be **YES** if the device is either an Azure AD joined device or a hybrid Azure AD joined device.
105105
If the value is **NO**, the join to Azure AD has not completed yet.
106106

107107
Proceed to next steps for further troubleshooting.

articles/active-directory/manage-apps/application-provisioning-when-will-provisioning-finish-specific-user.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ When you first configure automatic provisioning, the **Current Status** section
3232
- The type of provisioning cycle (initial or incremental) that is currently running or was last completed.
3333
- A **progress bar** showing the percentage of the provisioning cycle that has completed. The percentage reflects the count of pages provisioned. Note that each page could contain multiple users or groups, so the percentage doesn't directly correlate to the number of users, groups, or roles provisioned.
3434
- A **Refresh** button you can use to keep the view updated.
35-
- The number of **Users** and **Groups** provisioned, and the number of roles created. During the initial cycle, the **Users** number counts up by 1 when a user is created or updated, and it counts down by 1 when a user is deleted. During an incremental cycle, user updates don’t affect the **Users** count; the number changes only when users are created or deleted.
35+
- The number of **Users** and **Groups** in the connector data store. The count increases anytime an object is added to the scope of provisioning. The count will not go down if a user is soft-deleted or hard-deleted as this does not remove the object from the connector data store. The count will be re-caculated the first sync after the CDS is [reset](https://docs.microsoft.com/graph/api/synchronization-synchronizationjob-restart?view=graph-rest-beta&tabs=http)
3636
- A **View Audit Logs** link, which opens the Azure AD provisioning logs for details about all operations run by the user provisioning service, including provisioning status for individual users (see the [Use provisioning logs](#use-provisioning-logs-to-check-a-users-provisioning-status) section below).
3737

3838
After a provisioning cycle is complete, the **Statistics to date** section shows the cumulative numbers of users and groups that have been provisioned to date, along with the completion date and duration of the last cycle. The **Activity ID** uniquely identifies the most recent provisioning cycle. The **Job ID** is a unique identifier for the provisioning job, and is specific to the app in your tenant.

articles/active-directory/saas-apps/amazon-web-service-tutorial.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,10 @@ In this tutorial, you configure and test Azure AD SSO in a test environment.
7171

7272
To configure the integration of Amazon Web Services (AWS) into Azure AD, you need to add Amazon Web Services (AWS) from the gallery to your list of managed SaaS apps.
7373

74-
1. Sign in to the [Azure portal](https://portal.azure.com) using either a work or school account, or a personal Microsoft account.
75-
1. On the left navigation pane, select the **Azure Active Directory** service.
76-
1. Navigate to **Enterprise Applications** and then select **All Applications**.
77-
1. To add new application, select **New application**.
74+
1. Sign in to the [Azure portal](https://portal.azure.com) using a work account, school account, or personal Microsoft account.
75+
1. In the Azure portal, search for and select **Azure Active Directory**.
76+
1. Within the Azure Active Directory overview menu, choose **Enterprise Applications** > **All applications**.
77+
1. Select **New application** to add an application.
7878
1. In the **Add from the gallery** section, type **Amazon Web Services (AWS)** in the search box.
7979
1. Select **Amazon Web Services (AWS)** from results panel and then add the app. Wait a few seconds while the app is added to your tenant.
8080

@@ -120,7 +120,8 @@ Follow these steps to enable Azure AD SSO in the Azure portal.
120120

121121
In this section, you'll create a test user in the Azure portal called B.Simon.
122122

123-
1. From the left pane in the Azure portal, select **Azure Active Directory**, select **Users**, and then select **All users**.
123+
1. In the Azure portal, search for and select **Azure Active Directory**.
124+
1. Within the Azure Active Directory overview menu, choose **Users** > **All users**.
124125
1. Select **New user** at the top of the screen.
125126
1. In the **User** properties, follow these steps:
126127
1. In the **Name** field, enter `B.Simon`.
@@ -132,8 +133,9 @@ In this section, you'll create a test user in the Azure portal called B.Simon.
132133

133134
In this section, you'll enable B.Simon to use Azure single sign-on by granting access to Amazon Web Services (AWS).
134135

135-
1. In the Azure portal, select **Enterprise Applications**, and then select **All applications**.
136-
1. In the applications list, select **Amazon Web Services (AWS)**.
136+
1. In the Azure portal, search for and select **Azure Active Directory**.
137+
1. Within the Azure Active Directory overview menu, choose **Enterprise Applications** > **All applications**.
138+
1. In the application list, select **Amazon Web Services (AWS)**.
137139
1. In the app's overview page, find the **Manage** section and select **Users and groups**.
138140

139141
![The "Users and groups" link](common/users-groups-blade.png)

0 commit comments

Comments
 (0)