Skip to content

Commit 9a9741c

Browse files
authored
Merge pull request #191731 from MicrosoftDocs/main
Merge main to live, 4 AM
2 parents f5bbbd4 + 6b9ccdc commit 9a9741c

File tree

457 files changed

+5179
-2662
lines changed

Some content is hidden

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

457 files changed

+5179
-2662
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25208,6 +25208,11 @@
2520825208
"redirect_url": "/azure/azure-sql/managed-instance/scripts/create-configure-managed-instance-cli",
2520925209
"redirect_document_id": false
2521025210
},
25211+
{
25212+
"source_path_from_root": "/articles/azure-sql/managed-instance/azure-app-sync-network-configuration.md",
25213+
"redirect_url": "/azure/azure-sql/managed-instance/index.yml",
25214+
"redirect_document_id": false
25215+
},
2521125216
{
2521225217
"source_path_from_root": "/articles/sql-database/scripts/sql-database-copy-database-to-new-server-cli.md",
2521325218
"redirect_url": "/azure/azure-sql/database/scripts/copy-database-to-new-server-cli",

articles/active-directory/azuread-dev/active-directory-authentication-libraries.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ The Azure Active Directory Authentication Library (ADAL) v1.0 enables applicatio
4141
| JavaScript |ADAL.js |[GitHub](https://github.com/AzureAD/azure-activedirectory-library-for-js) |[GitHub](https://github.com/AzureAD/azure-activedirectory-library-for-js) |[Single-page app](https://github.com/Azure-Samples/active-directory-javascript-singlepageapp-dotnet-webapi) | |
4242
| iOS, macOS |ADAL |[GitHub](https://github.com/AzureAD/azure-activedirectory-library-for-objc/releases) |[GitHub](https://github.com/AzureAD/azure-activedirectory-library-for-objc) |[iOS app](../develop/quickstart-v2-ios.md) | [Reference](http://cocoadocs.org/docsets/ADAL/2.5.1/)|
4343
| Android |ADAL |[Maven](https://search.maven.org/search?q=g:com.microsoft.aad+AND+a:adal&core=gav) |[GitHub](https://github.com/AzureAD/azure-activedirectory-library-for-android) |[Android app](../develop/quickstart-v2-android.md) | [JavaDocs](https://javadoc.io/doc/com.microsoft.aad/adal/)|
44-
| Node.js |ADAL |[npm](https://www.npmjs.com/package/adal-node) |[GitHub](https://github.com/AzureAD/azure-activedirectory-library-for-nodejs) | [Node.js web app](https://github.com/Azure-Samples/active-directory-node-webapp-openidconnect)|[Reference](/javascript/api/overview/azure/activedirectory) |
44+
| Node.js |ADAL |[npm](https://www.npmjs.com/package/adal-node) |[GitHub](https://github.com/AzureAD/azure-activedirectory-library-for-nodejs) | [Node.js web app](https://github.com/Azure-Samples/active-directory-node-webapp-openidconnect)|[Reference](/javascript/api/overview/azure/active-directory) |
4545
| Java |ADAL4J |[Maven](https://search.maven.org/#search%7Cga%7C1%7Ca%3Aadal4j%20g%3Acom.microsoft.azure) |[GitHub](https://github.com/AzureAD/azure-activedirectory-library-for-java) |[Java web app](https://github.com/Azure-Samples/active-directory-java-webapp-openidconnect) |[Reference](https://javadoc.io/doc/com.microsoft.azure/adal4j) |
4646
| Python |ADAL |[GitHub](https://github.com/AzureAD/azure-activedirectory-library-for-python) |[GitHub](https://github.com/AzureAD/azure-activedirectory-library-for-python) |[Python web app](https://github.com/Azure-Samples/active-directory-python-webapp-graphapi) |[Reference](https://adal-python.readthedocs.io/) |
4747

articles/active-directory/develop/consent-framework.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ ms.service: active-directory
1010
ms.subservice: develop
1111
ms.topic: conceptual
1212
ms.workload: identity
13-
ms.date: 10/21/2020
13+
ms.date: 03/14/2022
1414
ms.author: ryanwi
15-
ms.reviewer: zachowd, lenalepa, jesakowi
16-
ms.custom: has-adal-ref
15+
ms.reviewer: phsignor, jesakowi
16+
ms.custom:
1717
---
1818

1919
# Azure Active Directory consent framework
@@ -32,17 +32,17 @@ The following steps show you how the consent experience works for both the appli
3232

3333
1. Assume you have a web client application that needs to request specific permissions to access a resource/API. You'll learn how to do this configuration in the next section, but essentially the Azure portal is used to declare permission requests at configuration time. Like other configuration settings, they become part of the application's Azure AD registration:
3434

35-
![Permissions to other applications](./media/consent-framework/permissions.png)
35+
:::image type="content" source="./media/consent-framework/permissions.png" alt-text="Permissions to other applications" lightbox="./media/consent-framework/permissions.png":::
3636

3737
1. Consider that your application’s permissions have been updated, the application is running, and a user is about to use it for the first time. First, the application needs to obtain an authorization code from Azure AD’s `/authorize` endpoint. The authorization code can then be used to acquire a new access and refresh token.
3838

3939
1. If the user is not already authenticated, Azure AD's `/authorize` endpoint prompts the user to sign in.
4040

41-
![User or administrator sign in to Azure AD](./media/consent-framework/usersignin.png)
41+
:::image type="content" source="./media/consent-framework/usersignin.png" alt-text="User or administrator sign in to Azure AD":::
4242

4343
1. After the user has signed in, Azure AD will determine if the user needs to be shown a consent page. This determination is based on whether the user (or their organization’s administrator) has already granted the application consent. If consent has not already been granted, Azure AD prompts the user for consent and displays the required permissions it needs to function. The set of permissions that are displayed in the consent dialog match the ones selected in the **Delegated permissions** in the Azure portal.
4444

45-
![Shows an example of permissions displayed in the consent dialog](./media/consent-framework/consent.png)
45+
:::image type="content" source="./media/consent-framework/consent.png" alt-text="Shows an example of permissions displayed in the consent dialog":::
4646

4747
1. After the user grants consent, an authorization code is returned to your application, which is redeemed to acquire an access token and refresh token. For more information about this flow, see [OAuth 2.0 authorization code flow](v2-oauth2-auth-code-flow.md).
4848

@@ -53,7 +53,7 @@ The following steps show you how the consent experience works for both the appli
5353
1. Go to the **API permissions** page for your application
5454
1. Click on the **Grant admin consent** button.
5555

56-
![Grant permissions for explicit admin consent](./media/consent-framework/grant-consent.png)
56+
:::image type="content" source="./media/consent-framework/grant-consent.png" alt-text="Grant permissions for explicit admin consent" lightbox="./media/consent-framework/grant-consent.png":::
5757

5858
> [!IMPORTANT]
5959
> 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.
248 KB
Loading
49.4 KB
Loading
48.8 KB
Loading
186 KB
Loading

articles/active-directory/develop/reference-third-party-cookies-spas.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ ms.service: active-directory
1010
ms.subservice: develop
1111
ms.workload: identity
1212
ms.topic: conceptual
13-
ms.date: 10/06/2021
13+
ms.date: 03/14/2022
1414
ms.author: ludwignick
1515
ms.reviewer: kkrishna
1616
ms.custom: aaddev
1717
---
1818

1919
# Handle ITP in Safari and other browsers where third-party cookies are blocked
2020

21-
Many browsers today are blocking third-party cookies - cookies on requests to domains that aren't the same as the one showing in the browser bar. This breaks the implicit flow and requires new authentication patterns to successfully sign in users. In the Microsoft identity platform, we use the authorization flow with Proof Key for Code Exchange (PKCE) and refresh tokens to keep users signed in when third-party cookies are blocked.
21+
Many browsers block _third-party cookies_, cookies on requests to domains other than the domain shown in the browser's address bar. This block breaks the implicit flow and requires new authentication patterns to successfully sign in users. In the Microsoft identity platform, we use the authorization flow with Proof Key for Code Exchange (PKCE) and refresh tokens to keep users signed in when third-party cookies are blocked.
2222

2323
## What is Intelligent Tracking Protection (ITP)?
2424

@@ -62,12 +62,17 @@ There are two ways of accomplishing sign-in:
6262
- When the popup finishes redirecting to the application after authentication, code in the redirect handler will store the code and tokens in local storage for the application to use. MSAL.js supports popups for authentication, as do most libraries.
6363
- Browsers are decreasing support for popups, so they may not be the most reliable option. User interaction with the SPA before creating the popup may be needed to satisfy browser requirements.
6464

65-
> [!NOTE]
66-
> Apple [describes a popup method](https://webkit.org/blog/8311/intelligent-tracking-prevention-2-0/) as a temporary compatibility fix to give the original window access to third-party cookies. While Apple may remove this transferral of permissions in the future, it will not impact the guidance here. Here, the popup is being used as a first party navigation to the login page so that a session is found and an auth code can be provided. This should continue working into the future.
65+
Apple [describes a popup method](https://webkit.org/blog/8311/intelligent-tracking-prevention-2-0/) as a temporary compatibility fix to give the original window access to third-party cookies. While Apple may remove this transferral of permissions in the future, it will not impact the guidance here.
66+
67+
Here, the popup is being used as a first party navigation to the login page so that a session is found and an auth code can be provided. This should continue working into the future.
6768

68-
### A note on iframe apps
69+
### Using iframes
6970

70-
A common pattern in web apps is to use an iframe to embed one app inside another. The top-level frame handles authenticating the user, and the application hosted in the iframe can trust that the user is signed in, fetching tokens silently using the implicit flow. Silent token acquisition no longer works when third-party cookies are blocked - the application embedded in the iframe must switch to using popups to access the user's session as it can't navigate to the login page.
71+
A common pattern in web apps is to use an iframe to embed one app inside anotherd: the top-level frame handles authenticating the user and the application hosted in the iframe can trust that the user is signed in, fetching tokens silently using the implicit flow.
72+
73+
Silent token acquisition no longer works when third-party cookies are blocked - the application embedded in the iframe must switch to using popups to access the user's session as it can't navigate to the login page.
74+
75+
You can achieve single sign-on between iframed and parent apps with same-origin _and_ cross-origin JavaScript script API access by passing a user (account) hint from the parent app to the iframed app. For more information, see [Using MSAL.js in iframed apps](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/iframe-usage.md) in the MSAL.js repository on GitHub.
7176

7277
## Security implications of refresh tokens in the browser
7378

@@ -77,7 +82,7 @@ This limited-lifetime refresh token pattern was chosen as a balance between secu
7782

7883
## Next steps
7984

80-
For more information about authorization code flow and Microsoft Authentication Library (MSAL) for JavaScript v2.0, see:
85+
For more information about authorization code flow and MSAL.js, see:
8186

8287
- [Authorization code flow](v2-oauth2-auth-code-flow.md).
8388
- [MSAL.js 2.0 quickstart](quickstart-v2-javascript-auth-code.md).

articles/active-directory/develop/single-sign-on-saml-protocol.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ If `SPNameQualifier` is specified, Azure AD will include the same `SPNameQualifi
8686

8787
Azure AD ignores the `AllowCreate` attribute.
8888

89-
### RequestAuthnContext
89+
### RequestedAuthnContext
9090
The `RequestedAuthnContext` element specifies the desired authentication methods. It is optional in `AuthnRequest` elements sent to Azure AD. Azure AD supports `AuthnContextClassRef` values such as `urn:oasis:names:tc:SAML:2.0:ac:classes:Password`.
9191

9292
### Scoping

articles/active-directory/develop/support-fido2-authentication.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Don't use a domain hint to bypass [home-realm discovery](../../active-directory/
2828

2929
### Requiring specific credentials
3030

31-
If you are using SAML, do not specify that a password is required [using the RequestedAuthnContext element](single-sign-on-saml-protocol.md#requestauthncontext).
31+
If you are using SAML, do not specify that a password is required [using the RequestedAuthnContext element](single-sign-on-saml-protocol.md#requestedauthncontext).
3232

3333
The RequestedAuthnContext element is optional, so to resolve this you can remove it from your SAML authentication requests. This is a general best practice, as using this element can also prevent other authentication options like multi-factor authentication from working correctly.
3434

@@ -62,4 +62,4 @@ The availability of FIDO2 passwordless authentication for applications that run
6262

6363
## Next steps
6464

65-
[Passwordless authentication options for Azure Active Directory](../../active-directory/authentication/concept-authentication-passwordless.md)
65+
[Passwordless authentication options for Azure Active Directory](../../active-directory/authentication/concept-authentication-passwordless.md)

0 commit comments

Comments
 (0)