Skip to content

Commit 86dcf77

Browse files
authored
Merge branch 'main' into diberry/1101-search-dotnet
2 parents 6d62f7c + 5e42e38 commit 86dcf77

File tree

91 files changed

+993
-657
lines changed

Some content is hidden

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

91 files changed

+993
-657
lines changed

.openpublishing.redirection.active-directory.json

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3433,17 +3433,17 @@
34333433
},
34343434
{
34353435
"source_path_from_root": "/articles/active-directory/develop/active-directory-permissions.md",
3436-
"redirect_url": "/azure/active-directory/develop/v2-permissions-and-consent",
3436+
"redirect_url": "/azure/active-directory/develop/permissions-consent-overview",
34373437
"redirect_document_id": false
34383438
},
34393439
{
34403440
"source_path_from_root": "/articles/active-directory/develop/active-directory-v2-scopes.md",
3441-
"redirect_url": "/azure/active-directory/develop/v2-permissions-and-consent",
3441+
"redirect_url": "/azure/active-directory/develop/permissions-consent-overview",
34423442
"redirect_document_id": false
34433443
},
34443444
{
34453445
"source_path_from_root": "/articles/active-directory/develop/v1-permissions-and-consent.md",
3446-
"redirect_url": "/azure/active-directory/develop/v2-permissions-and-consent",
3446+
"redirect_url": "/azure/active-directory/develop/permissions-consent-overview",
34473447
"redirect_document_id": false
34483448
},
34493449
{
@@ -5536,6 +5536,16 @@
55365536
"redirect_url": "/azure/active-directory/app-proxy/application-proxy-add-on-premises-application",
55375537
"redirect_document_id": true
55385538
},
5539+
{
5540+
"source_path_from_root": "/articles/active-directory/develop/consent-framework.md",
5541+
"redirect_url": "/azure/active-directory/develop/application-consent-experience",
5542+
"redirect_document_id": false
5543+
},
5544+
{
5545+
"source_path_from_root": "/articles/active-directory/manage-apps/consent-and-permissions-overview.md",
5546+
"redirect_url": "/azure/active-directory/manage-apps/user-admin-consent-overview",
5547+
"redirect_document_id": false
5548+
},
55395549
{
55405550
"source_path_from_root": "/articles/active-directory/manage-apps/application-proxy-enable.md",
55415551
"redirect_url": "/azure/active-directory/app-proxy/application-proxy-add-on-premises-application",

articles/active-directory/authentication/concept-certificate-based-authentication-certificateuserids.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,27 @@ GET https://graph.microsoft.com/v1.0/users?$filter=startswith(certificateUserIds
157157
GET https://graph.microsoft.com/v1.0/users?$filter=certificateUserIds eq '[email protected]'
158158
```
159159
160+
## Update certificate user IDs using Microsoft Graph queries
161+
PATCH the user object certificateUserIds value for a given userId
162+
163+
#### Request body:
164+
165+
```http
166+
PATCH https://graph.microsoft.us/v1.0/users/{id}
167+
Content-Type: application/json
168+
{
169+
170+
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(authorizationInfo,department)/$entity",
171+
"department": "Accounting",
172+
"authorizationInfo": {
173+
"certificateUserIds": [
174+
"X509:<PN>123456789098765@mil"
175+
]
176+
}
177+
}
178+
```
179+
180+
160181
## Next steps
161182

162183
- [Overview of Azure AD CBA](concept-certificate-based-authentication.md)

articles/active-directory/conditional-access/concept-conditional-access-conditions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ On Windows 7, iOS, Android, and macOS Azure AD identifies the device using a cli
127127

128128
#### Chrome support
129129

130-
For Chrome support in **Windows 10 Creators Update (version 1703)** or later, install the [Windows 10 Accounts](https://chrome.google.com/webstore/detail/windows-10-accounts/ppnbnpeolgkicgegkbkbjmhlideopiji) or [Office Online](https://chrome.google.com/webstore/detail/office/ndjpnladcallmjemlbaebfadecfhkepb) extensions. These extensions are required when a Conditional Access policy requires device-specific details.
130+
For Chrome support in **Windows 10 Creators Update (version 1703)** or later, install the [Windows Accounts](https://chrome.google.com/webstore/detail/windows-accounts/ppnbnpeolgkicgegkbkbjmhlideopiji) or [Office](https://chrome.google.com/webstore/detail/office/ndjpnladcallmjemlbaebfadecfhkepb) extensions. These extensions are required when a Conditional Access policy requires device-specific details.
131131

132132
To automatically deploy this extension to Chrome browsers, create the following registry key:
133133

articles/active-directory/develop/TOC.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,24 +35,27 @@
3535
items:
3636
- name: Permissions and consent overview
3737
href: permissions-consent-overview.md
38+
- name: Delegated access
39+
href: delegated-access-primer.md
40+
- name: Scopes and permissions
41+
href: scopes-oidc.md
3842
- name: "Authorization options: ACLs, RBAC, ABAC"
3943
href: authorization-basics.md
4044
- name: RBAC for app developers
4145
href: custom-rbac-for-developers.md
42-
- name: Scopes, permissions, and consent
43-
displayName: Scopes
44-
href: v2-permissions-and-consent.md
46+
- name: Requesting permissions through consent
47+
href: consent-types-developer.md
4548
- name: Application consent experiences
4649
displayName: App consent experiences
4750
href: application-consent-experience.md
48-
- name: Consent framework
49-
href: consent-framework.md
5051
- name: Conditional Access dev guide
5152
href: v2-conditional-access-dev-guide.md
5253
displayName: ca
5354
- name: Conditional Access auth context
5455
href: developer-guide-conditional-access-authentication-context.md
5556
displayName: ca
57+
- name: Permissions and consent framework
58+
href: v2-permissions-and-consent.md
5659
- name: App registrations and workload identities
5760
displayName: App configuration
5861
items:

articles/active-directory/develop/access-tokens.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,4 +324,4 @@ Check out [Primary Refresh Tokens](../devices/concept-primary-refresh-token.md)
324324
## Next steps
325325

326326
- Learn about [`id_tokens` in Azure AD](id-tokens.md).
327-
- Learn about permission and consent ( [v1.0](../azuread-dev/v1-permissions-consent.md), [v2.0](v2-permissions-and-consent.md)).
327+
- Learn about permission and consent ( [v1.0](../azuread-dev/v1-permissions-consent.md), [v2.0](permissions-consent-overview.md)).

articles/active-directory/develop/active-directory-v2-protocols.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Your client app needs a way to trust the security tokens issued to it by the Mic
5353

5454
When you register your app in Azure AD, the Microsoft identity platform automatically assigns it some values, while others you configure based on the application's type.
5555

56-
Two the most commonly referenced app registration settings are:
56+
Two of the most commonly referenced app registration settings are:
5757

5858
* **Application (client) ID** - Also called _application ID_ and _client ID_, this value is assigned to your app by the Microsoft identity platform. The client ID uniquely identifies your app in the identity platform and is included in the security tokens the platform issues.
5959
* **Redirect URI** - The authorization server uses a redirect URI to direct the resource owner's *user-agent* (web browser, mobile app) to another destination after completing their interaction. For example, after the end-user authenticates with the authorization server. Not all client types use redirect URIs.

articles/active-directory/develop/application-consent-experience.md

Lines changed: 54 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,21 @@
22
title: Azure AD app consent experiences
33
description: Learn more about the Azure AD consent experiences to see how you can use it when managing and developing applications on Azure AD
44
services: active-directory
5-
author: rwike77
5+
author: omondiatieno
66
manager: CelesteDG
7-
87
ms.service: active-directory
98
ms.subservice: develop
109
ms.custom: aaddev
1110
ms.workload: identity
1211
ms.topic: conceptual
13-
ms.date: 04/18/2022
14-
ms.author: ryanwi
15-
ms.reviewer: jesakowi, asteen
12+
ms.date: 11/01/2022
13+
ms.author: jomondi
14+
ms.reviewer: jesakowi, asteen, jawoods
1615
---
1716

18-
# Understanding Azure AD application consent experiences
19-
20-
Learn more about the Azure Active Directory (Azure AD) application consent user experience. So you can intelligently manage applications for your organization and/or develop applications with a more seamless consent experience.
17+
# Consent experience for applications in Azure Active Directory
2118

22-
## Consent and permissions
19+
In this article, you'll learn about the Azure Active Directory (Azure AD) application consent user experience. You'll then be able to intelligently manage applications for your organization and/or develop applications with a more seamless consent experience.
2320

2421
Consent is the process of a user granting authorization to an application to access protected resources on their behalf. An admin or user can be asked for consent to allow access to their organization/individual data.
2522

@@ -42,50 +39,87 @@ The following diagram and table provide information about the building blocks of
4239
| 2 | Title | The title changes based on whether the users are going through the user or admin consent flow. In user consent flow, the title will be “Permissions requested” while in the admin consent flow the title will have an additional line “Accept for your organization”. |
4340
| 3 | App logo | This image should help users have a visual cue of whether this app is the app they intended to access. This image is provided by application developers and the ownership of this image isn't validated. |
4441
| 4 | App name | This value should inform users which application is requesting access to their data. Note this name is provided by the developers and the ownership of this app name isn't validated.|
45-
| 5 | Publisher name and verification | The blue "verified" badge means that the app publisher has verified their identity using a Microsoft Partner Network account and has completed the verification process. If the app is publisher verified, the publisher name is displayed. If the app is not publisher verified, "Unverified" is displayed instead of a publisher name. For more information, read about [Publisher Verification](publisher-verification-overview.md). Selecting the publisher name displays more app info as available, such as the publisher name, publisher domain, date created, certification details, and reply URLs. |
42+
| 5 | Publisher name and verification | The blue "verified" badge means that the app publisher has verified their identity using a Microsoft Partner Network account and has completed the verification process. If the app is publisher verified, the publisher name is displayed. If the app isn't publisher verified, "Unverified" is displayed instead of a publisher name. For more information, read about [Publisher Verification](publisher-verification-overview.md). Selecting the publisher name displays more app info as available, such as the publisher name, publisher domain, date created, certification details, and reply URLs. |
4643
| 6 | Microsoft 365 Certification | The Microsoft 365 Certification logo means that an app has been vetted against controls derived from leading industry standard frameworks, and that strong security and compliance practices are in place to protect customer data. For more information, read about [Microsoft 365 Certification](/microsoft-365-app-certification/docs/enterprise-app-certification-guide).|
4744
| 7 | Publisher information | Displays whether the application is published by Microsoft. |
48-
| 8 | Permissions | This list contains the permissions being requested by the client application. Users should always evaluate the types of permissions being requested to understand what data the client application will be authorized to access on their behalf if they accept. As an application developer it is best to request access, to the permissions with the least privilege. |
45+
| 8 | Permissions | This list contains the permissions being requested by the client application. Users should always evaluate the types of permissions being requested to understand what data the client application will be authorized to access on their behalf if they accept. As an application developer it's best to request access, to the permissions with the least privilege. |
4946
| 9 | Permission description | This value is provided by the service exposing the permissions. To see the permission descriptions, you must toggle the chevron next to the permission. |
5047
| 10 | https://myapps.microsoft.com | This is the link where users can review and remove any non-Microsoft applications that currently have access to their data. |
5148
| 11 | Report it here | This link is used to report a suspicious app if you don't trust the app, if you believe the app is impersonating another app, if you believe the app will misuse your data, or for some other reason. |
5249

53-
## App requires a permission within the user's scope of authority
50+
## Common scenarios and consent experiences
5451

55-
A common consent scenario is that the user accesses an app which requires a permission set that is within the user's scope of authority. The user is directed to the user consent flow.
52+
The following section describes the common scenarios and the expected consent experience for each of them.
53+
### App requires a permission that the user has the right to grant
5654

57-
Admins will see an additional control on the traditional consent prompt that will allow them consent on behalf of the entire tenant. The control will be defaulted to off, so only when admins explicitly check the box will consent be granted on behalf of the entire tenant. As of today, this check box will only show for the Global Admin role, so Cloud Admin and App Admin will not see this checkbox.
55+
In this consent scenario, the user accesses an app that requires a permission set that is within the user's scope of authority. The user is directed to the user consent flow.
56+
57+
Admins will see an additional control on the traditional consent prompt that will allow to give consent on behalf of the entire tenant. The control will be defaulted to off, so only when admins explicitly check the box will consent be granted on behalf of the entire tenant. The check box will only show for the Global Admin role, so Cloud Admin and App Admin won't see this checkbox.
5858

5959
:::image type="content" source="./media/application-consent-experience/consent_prompt_1a.png" alt-text="Consent prompt for scenario 1a":::
6060

6161
Users will see the traditional consent prompt.
6262

6363
:::image type="content" source="./media/application-consent-experience/consent_prompt_1b.png" alt-text="Screenshot that shows the traditional consent prompt.":::
6464

65-
## App requires a permission outside of the user's scope of authority
65+
### App requires a permission that the user has no right to grant
6666

67-
Another common consent scenario is that the user accesses an app which requires at least one permission that is outside the user's scope of authority.
67+
In this consent scenario, the user accesses an app that requires at least one permission that is outside the user's scope of authority.
6868

6969
Admins will see an additional control on the traditional consent prompt that will allow them consent on behalf of the entire tenant.
7070

7171
:::image type="content" source="./media/application-consent-experience/consent_prompt_1a.png" alt-text="Consent prompt for scenario 1a":::
7272

73-
Non-admin users will be blocked from granting consent to the application, and they will be told to ask their admin for access to the app.
73+
Non-admin users will be blocked from granting consent to the application, and they'll be told to ask their admin for access to the app. If admin consent workflow is enabled in the user's tenant, non-admin users are able to submit a request for admin approval from the consent prompt. For more information on admin consent workflow, see [Admin consent workflow](../manage-apps/admin-consent-workflow-overview.md).
7474

7575
:::image type="content" source="./media/application-consent-experience/consent_prompt_2b.png" alt-text="Screenshot of the consent prompt telling the user to ask an admin for access to the app.":::
7676

77-
## User is directed to the admin consent flow
77+
### User is directed to the admin consent flow
7878

79-
Another common scenario is when the user navigates to or is directed to the admin consent flow.
79+
In this consent scenario, the user navigates to or is directed to the admin consent flow.
8080

8181
Admin users will see the admin consent prompt. The title and the permission descriptions changed on this prompt, the changes highlight the fact that accepting this prompt will grant the app access to the requested data on behalf of the entire tenant.
8282

8383
:::image type="content" source="./media/application-consent-experience/consent_prompt_3a.png" alt-text="Consent prompt for scenario 3a":::
8484

85-
Non-admin users will be blocked from granting consent to the application, and they will be told to ask their admin for access to the app.
85+
Non-admin users will be blocked from granting consent to the application, and they'll be told to ask their admin for access to the app.
8686

8787
:::image type="content" source="./media/application-consent-experience/consent_prompt_2b.png" alt-text="Screenshot of the consent prompt telling the user to ask an admin for access to the app.":::
8888

89+
### Admin consent through the Azure portal
90+
91+
In this scenario, an administrator consents to all of the permissions that an application requests, which can include delegated permissions on behalf of all users in the tenant. The Administrator grants consent through the **API permissions** page of the application registration in the [Azure portal](https://portal.azure.com).
92+
93+
:::image type="content" source="./media/consent-framework/grant-consent.png" alt-text="Screenshot of explicit admin consent through the Azure portal." lightbox="./media/consent-framework/grant-consent.png":::
94+
95+
All users in that tenant won't see the consent dialog unless the application requires new permissions. To learn which administrator roles can consent to delegated permissions, see [Administrator role permissions in Azure AD](../roles/permissions-reference.md).
96+
97+
> [!IMPORTANT]
98+
> Granting explicit consent using the **Grant permissions** button is currently required for single-page applications (SPA) that use MSAL.js. Otherwise, the application fails when the access token is requested.
99+
100+
## Common Issues
101+
This section outlines the common issues with the consent experience and possible troubleshooting tips.
102+
103+
- 403 error
104+
105+
- Is this a [delegated scenario](permissions-consent-overview.md)? What permissions does a user have?
106+
- Are necessary permissions added to use the endpoint?
107+
- Check the [token](https://jwt.ms/) to see if it has necessary claims to call the endpoint.
108+
- What permissions have been consented to? Who consented?
109+
110+
- User is unable to consent
111+
112+
- Check if tenant admin has disabled user consent for your organization
113+
- Confirm if the permissions you requesting are admin-restricted permissions.
114+
115+
- User is still blocked even after admin has consented
116+
117+
- Check if [static permissions](consent-types-developer.md) are configured to be a superset of permissions requested dynamically.
118+
- Check if user assignment is required for the app.
119+
120+
## Troubleshoot known errors
121+
122+
For troubleshooting steps, see [Unexpected error when performing consent to an application](../manage-apps/application-sign-in-unexpected-user-consent-error.md).
89123
## Next steps
90124

91125
- Get a step-by-step overview of [how the Azure AD consent framework implements consent](./quickstart-register-app.md).

0 commit comments

Comments
 (0)