Skip to content

Commit 9194b88

Browse files
authored
Merge pull request #239770 from MicrosoftDocs/main
Publish to Live Wednesday 4AM PST, 05/31
2 parents 7e0708d + 7798387 commit 9194b88

File tree

146 files changed

+3743
-1962
lines changed

Some content is hidden

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

146 files changed

+3743
-1962
lines changed

articles/active-directory/develop/scenario-spa-acquire-token.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.service: active-directory
99
ms.subservice: develop
1010
ms.topic: conceptual
1111
ms.workload: identity
12-
ms.date: 06/10/2022
12+
ms.date: 05/18/2023
1313
ms.author: henrymbugua
1414
s.reviewer: negoe
1515
ms.custom: aaddev
@@ -18,7 +18,7 @@ ms.custom: aaddev
1818

1919
# Single-page application: Acquire a token to call an API
2020

21-
The pattern for acquiring tokens for APIs with [MSAL.js](https://github.com/AzureAD/microsoft-authentication-library-for-js) is to first attempt a silent token request by using the `acquireTokenSilent` method. When this method is called, the library first checks the cache in browser storage to see if a non-expired access token exists and returns it. If no access token is found or the access token found has expired, it attempts to use its refresh token to get a fresh access token. If the refresh token's 24-hour lifetime has also expired, MSAL.js will open a hidden iframe to silently request a new authorization code by leveraging the existing active session with Azure AD (if any), which will then be exchanged for a fresh set of tokens (access _and_ refresh tokens). For more information about single sign-on (SSO) session and token lifetime values in Azure AD, see [Token lifetimes](configurable-token-lifetimes.md). For more information on MSAL.js cache lookup policy, see: [Acquiring an Access Token](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/acquire-token.md#acquiring-an-access-token).
21+
The pattern for acquiring tokens for APIs with [MSAL.js](https://github.com/AzureAD/microsoft-authentication-library-for-js) is to first attempt a silent token request by using the `acquireTokenSilent` method. When this method is called, the library first checks the cache in browser storage to see if a non-expired access token exists and returns it. If no access token is found or the access token found has expired, it attempts to use its refresh token to get a fresh access token. If the refresh token's 24-hour lifetime has also expired, MSAL.js opens a hidden iframe to silently request a new authorization code by using the existing active session with Azure Active Directory (Azure AD) (if any), which will then be exchanged for a fresh set of tokens (access _and_ refresh tokens). For more information about single sign-on (SSO) session and token lifetime values in Azure AD, see [Token lifetimes](configurable-token-lifetimes.md). For more information on MSAL.js cache lookup policy, see: [Acquiring an Access Token](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/acquire-token.md#acquiring-an-access-token).
2222

2323
The silent token requests to Azure AD might fail for reasons like a password change or updated conditional access policies. More often, failures are due to the refresh token's 24-hour lifetime expiring and [the browser blocking third party cookies](reference-third-party-cookies-spas.md), which prevents the use of hidden iframes to continue authenticating the user. In these cases, you should invoke one of the interactive methods (which may prompt the user) to acquire tokens:
2424

@@ -31,7 +31,7 @@ The choice between a pop-up or redirect experience depends on your application f
3131

3232
- If you don't want users to move away from your main application page during authentication, we recommend the pop-up method. Because the authentication redirect happens in a pop-up window, the state of the main application is preserved.
3333

34-
- If users have browser constraints or policies where pop-up windows are disabled, you can use the redirect method. Use the redirect method with the Internet Explorer browser, because there are [known issues with pop-up windows on Internet Explorer](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/internet-explorer.md#popups).
34+
- If users have browser constraints or policies where pop-up windows are disabled, you can use the redirect method. Use the redirect method with the Internet Explorer browser, because there are [known issues with pop-up windows on Internet Explorer](msal-js-known-issues-ie-edge-browsers.md).
3535

3636
You can set the API scopes that you want the access token to include when it's building the access token request. All requested scopes might not be granted in the access token. That depends on the user's consent.
3737

@@ -115,7 +115,7 @@ userAgentApplication
115115

116116
The MSAL Angular wrapper provides the HTTP interceptor, which will automatically acquire access tokens silently and attach them to the HTTP requests to APIs.
117117

118-
You can specify the scopes for APIs in the `protectedResourceMap` configuration option. `MsalInterceptor` will request the specified scopes when automatically acquiring tokens.
118+
You can specify the scopes for APIs in the `protectedResourceMap` configuration option. `MsalInterceptor` requests the specified scopes when automatically acquiring tokens.
119119

120120
```javascript
121121
// In app.module.ts
@@ -201,7 +201,7 @@ Alternatively, you can explicitly acquire tokens by using the acquire-token meth
201201
# [Angular (MSAL.js v1)](#tab/angular1)
202202

203203
The MSAL Angular wrapper provides the HTTP interceptor, which will automatically acquire access tokens silently and attach them to the HTTP requests to APIs.
204-
You can specify the scopes for APIs in the `protectedResourceMap` configuration option. `MsalInterceptor` will request the specified scopes when automatically acquiring tokens.
204+
You can specify the scopes for APIs in the `protectedResourceMap` configuration option. `MsalInterceptor` requests the specified scopes when automatically acquiring tokens.
205205

206206
```javascript
207207
// app.module.ts
@@ -353,7 +353,7 @@ publicClientApplication
353353

354354
# [JavaScript (MSAL.js v2)](#tab/javascript2)
355355

356-
The following pattern is as described earlier but shown with a redirect method to acquire tokens interactively. You'll need to call and await `handleRedirectPromise` on page load.
356+
The following pattern is as described earlier but shown with a redirect method to acquire tokens interactively. You need to call and await `handleRedirectPromise` on page load.
357357

358358
```javascript
359359
const redirectResponse = await publicClientApplication.handleRedirectPromise();
@@ -392,7 +392,7 @@ if (redirectResponse !== null) {
392392

393393
# [JavaScript (MSAL.js v1)](#tab/javascript1)
394394

395-
The following pattern is as described earlier but shown with a redirect method to acquire tokens interactively. You'll need to register the redirect callback as mentioned earlier.
395+
The following pattern is as described earlier but shown with a redirect method to acquire tokens interactively. You need to register the redirect callback as mentioned earlier.
396396

397397
```javascript
398398
function authCallback(error, response) {
@@ -514,7 +514,7 @@ This code is the same as described earlier.
514514

515515
# [React](#tab/react)
516516

517-
If `acquireTokenSilent` fails, fallback to `acquireTokenRedirect`. This method will initiate a full-frame redirect and the response will be handled when returning to the application. When this component is rendered after returning from the redirect, `acquireTokenSilent` should now succeed as the tokens will be pulled from the cache.
517+
If `acquireTokenSilent` fails, fallback to `acquireTokenRedirect`. This method initiates a full-frame redirect and the response will be handled when returning to the application. When this component is rendered after returning from the redirect, `acquireTokenSilent` should now succeed as the tokens will be pulled from the cache.
518518

519519
```javascript
520520
import {

articles/active-directory/external-identities/cross-tenant-access-settings-b2b-collaboration.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: active-directory
55
ms.service: active-directory
66
ms.subservice: B2B
77
ms.topic: how-to
8-
ms.date: 05/05/2023
8+
ms.date: 05/31/2023
99

1010
ms.author: mimart
1111
author: msmimart
@@ -185,11 +185,11 @@ With inbound settings, you select which external users and groups will be able t
185185

186186
![Screenshot showing trust settings.](media/cross-tenant-access-settings-b2b-collaboration/inbound-trust-settings.png)
187187

188-
1. (This step applies to **Organizational settings** only.) Review the consent prompt option:
188+
1. (This step applies to **Organizational settings** only.) Review the **Automatic redemption** option:
189189

190-
- **Suppress consent prompts for users from the other tenant when they access apps and resources in my tenant**: Select this checkbox if you want to automatically redeem invitations so users from the specified tenant don't have to accept the consent prompt when they're added to this tenant using B2B collaboration. This setting will only suppress the consent prompt if the specified tenant checks this setting for outbound access as well.
190+
- **Automatically redeem invitations with the tenant** <tenant>: Check this setting if you want to automatically redeem invitations. If so, users from the specified tenant won't have to accept the consent prompt the first time they access this tenant using cross-tenant synchronization, B2B collaboration, or B2B direct connect. This setting will only suppress the consent prompt if the specified tenant checks this setting for outbound access as well.
191191

192-
![Screenshot that shows the inbound suppress consent prompt check box.](../media/external-identities/inbound-consent-prompt-setting.png)
192+
![Screenshot that shows the inbound Automatic redemption check box.](../media/external-identities/inbound-consent-prompt-setting.png)
193193

194194
1. Select **Save**.
195195

@@ -285,11 +285,11 @@ With outbound settings, you select which of your users and groups will be able t
285285

286286
1. Select the **Trust settings** tab.
287287

288-
1. Review the consent prompt option:
288+
1. Review the **Automatic redemption** option:
289289

290-
- **Suppress consent prompts for users from my tenant when they access apps and resources in the other tenant**: Select this checkbox if you want to automatically redeem invitations so users from this tenant don't have to accept the consent prompt when they're added to the specified tenant using B2B collaboration. This setting will only suppress the consent prompt if the specified tenant checks this setting for inbound access as well.
290+
- **Automatically redeem invitations with the tenant** <tenant>: Check this setting if you want to automatically redeem invitations. If so, users from this tenant don't have to accept the consent prompt the first time they access the specified tenant using cross-tenant synchronization, B2B collaboration, or B2B direct connect. This setting will only suppress the consent prompt if the specified tenant checks this setting for inbound access as well.
291291

292-
![Screenshot that shows the outbound suppress consent prompt check box.](../media/external-identities/outbound-consent-prompt-setting.png)
292+
![Screenshot that shows the outbound Automatic redemption check box.](../media/external-identities/outbound-consent-prompt-setting.png)
293293

294294
1. Select **Save**.
295295

articles/active-directory/external-identities/cross-tenant-access-settings-b2b-direct-connect.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: active-directory
55
ms.service: active-directory
66
ms.subservice: B2B
77
ms.topic: how-to
8-
ms.date: 05/05/2023
8+
ms.date: 05/31/2023
99

1010
ms.author: mimart
1111
author: msmimart
@@ -179,11 +179,11 @@ With inbound settings, you select which external users and groups will be able t
179179

180180
![Screenshot showing inbound trust settings.](media/cross-tenant-access-settings-b2b-direct-connect/inbound-trust-settings.png)
181181

182-
1. (This step applies to **Organizational settings** only.) Review the consent prompt option:
182+
1. (This step applies to **Organizational settings** only.) Review the **Automatic redemption** option:
183183

184-
- **Suppress consent prompts for users from the other tenant when they access apps and resources in my tenant**: Select this checkbox if you want to automatically redeem invitations so users from the specified tenant don't have to accept the consent prompt when they access resources in this tenant using B2B direct connect. This setting will only suppress the consent prompt if the specified tenant checks this setting for outbound access as well.
184+
- **Automatically redeem invitations with the tenant** <tenant>: Check this setting if you want to automatically redeem invitations. If so, users from the specified tenant won't have to accept the consent prompt the first time they access this tenant using cross-tenant synchronization, B2B collaboration, or B2B direct connect. This setting will only suppress the consent prompt if the specified tenant checks this setting for outbound access as well.
185185

186-
![Screenshot that shows the inbound suppress consent prompt check box.](../media/external-identities/inbound-consent-prompt-setting.png)
186+
![Screenshot that shows the inbound Automatic redemption check box.](../media/external-identities/inbound-consent-prompt-setting.png)
187187

188188
1. Select **Save**.
189189

@@ -272,11 +272,11 @@ With outbound settings, you select which of your users and groups will be able t
272272

273273
1. Select the **Trust settings** tab.
274274

275-
1. Review the consent prompt option:
275+
1. Review the **Automatic redemption** option:
276276

277-
- **Suppress consent prompts for users from my tenant when they access apps and resources in the other tenant**: Select this checkbox if you want to automatically redeem invitations so users from this tenant don't have to accept the consent prompt when they access resources in the specified tenant using B2B direct connect. This setting will only suppress the consent prompt if the specified tenant checks this setting for inbound access as well.
277+
- **Automatically redeem invitations with the tenant** <tenant>: Check this setting if you want to automatically redeem invitations. If so, users from this tenant don't have to accept the consent prompt the first time they access the specified tenant using cross-tenant synchronization, B2B collaboration, or B2B direct connect. This setting will only suppress the consent prompt if the specified tenant checks this setting for inbound access as well.
278278

279-
![Screenshot that shows the outbound suppress consent prompt check box.](../media/external-identities/outbound-consent-prompt-setting.png)
279+
![Screenshot that shows the outbound Automatic redemption check box.](../media/external-identities/outbound-consent-prompt-setting.png)
280280

281281
1. Select **Save**.
282282

articles/active-directory/includes/automatic-redemption-include.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,11 @@ ms.author: rolyon
1111
ms.custom: include file
1212
---
1313

14-
The automatic redemption setting is an inbound and outbound organizational trust setting to automatically redeem invitations so users don't have to accept the consent prompt the first time they access the resource/target tenant. This setting is a check box with the following name depending on whether it's inbound or outbound:
14+
The automatic redemption setting is an inbound and outbound organizational trust setting to automatically redeem invitations so users don't have to accept the consent prompt the first time they access the resource/target tenant. This setting is a check box with the following name:
1515

16-
- **Suppress consent prompts for users from the other tenant when they access apps and resources in my tenant**
17-
- **Suppress consent prompts for users from my tenant when they access apps and resources in the other tenant**
16+
- **Automatically redeem invitations with the tenant** <tenant>
1817

19-
:::image type="content" source="../media/external-identities/inbound-consent-prompt-setting.png" alt-text="Screenshot that shows the inbound suppress consent prompt check box." lightbox="../media/external-identities/inbound-consent-prompt-setting.png":::
18+
:::image type="content" source="../media/external-identities/inbound-consent-prompt-setting.png" alt-text="Screenshot that shows the inbound Automatic redemption check box." lightbox="../media/external-identities/inbound-consent-prompt-setting.png":::
2019

2120
#### Compare setting for different scenarios
2221

articles/active-directory/manage-apps/app-management-videos.md

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,9 @@ ___
3333
:::column-end:::
3434
:::row-end:::
3535

36-
37-
3836
## Consent and permissions for admins
3937

40-
Learn about the options available for managing consent to applications in a tenant. Learn how about delegated permissions and how to revoke previously consented permissions to mitigate risks posed by malicious applications.
38+
Learn the options available for managing consent to applications in a tenant. Learn about delegated permissions and how to revoke previously consented permissions to mitigate risks posed by malicious applications.
4139
___
4240

4341
:::row:::
@@ -69,8 +67,8 @@ ___
6967
:::column-end:::
7068
:::row-end:::
7169

72-
7370
## Assigning owners and users to an enterprise app
71+
7472
Learn about who can assign owners to service principals, how to assign these owners, permissions that owners have, and what to do when an owner leaves the organization.
7573
Learn how to assign users and, groups to an enterprise application and how and why an enterprise app may show up in a tenant.
7674
___
@@ -97,9 +95,42 @@ ___
9795
>[!Video https://www.youtube.com/embed/NhbcVt5xOVI]
9896
:::column-end:::
9997
:::column:::
100-
10198
:::column-end:::
10299
:::column:::
100+
:::column-end:::
101+
:::row-end:::
102+
103+
## Phases of migrating apps from ADFS to Azure AD
103104

105+
Learn about the different phases of migrating apps from ADFS to Azure AD and the steps involved in each phase. View a demo on how to migrate a simple app from ADFS to Azure AD and the steps you need to take to ensure a successful migration.
106+
107+
___
108+
109+
:::row:::
110+
:::column:::
111+
1 - [Phase 1 and 2: Discover, scope, and classify apps and plan pilot](https://www.youtube.com/watch?v=PxLIacDpHh4)(4:05)
112+
:::column-end:::
113+
:::column:::
114+
>[!VIDEO https://www.youtube.com/embed/PxLIacDpHh4]
115+
:::column-end:::
116+
:::column:::
117+
2 - [Phase 3: Plan migration and testing](https://www.youtube.com/watch?v=PvI4Q4P_HfU)(5:39)
118+
:::column-end:::
119+
:::column:::
120+
>[!Video https://www.youtube.com/embed/PvI4Q4P_HfU]
121+
:::column-end:::
122+
:::row-end:::
123+
:::row:::
124+
:::column:::
125+
3 - [Phase 4: Plan management and insights](https://www.youtube.com/watch?v=8aUIuOXeDxw)(7:02)
126+
:::column-end:::
127+
:::column:::
128+
>[!Video https://www.youtube.com/embed/8aUIuOXeDxw]
129+
:::column-end:::
130+
:::column:::
131+
4 - [Active Directory Federation Services (AD FS) decommission guide](https://www.youtube.com/watch?v=D0M-N-RQw0I)(11:18)
132+
:::column-end:::
133+
:::column:::
134+
>[!Video https://www.youtube.com/embed/D0M-N-RQw0I]
104135
:::column-end:::
105136
:::row-end:::
3.89 KB
Loading
8.72 KB
Loading
9.49 KB
Loading

articles/active-directory/multi-tenant-organizations/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
items:
2020
- name: Portal
2121
href: cross-tenant-synchronization-configure.md
22-
- name: Graph API
22+
- name: PowerShell or Graph API
2323
href: cross-tenant-synchronization-configure-graph.md
2424
- name: Scoping users or groups to be provisioned
2525
href: ../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md?toc=/azure/active-directory/multi-tenant-organizations/toc.json&pivots=cross-tenant-synchronization

0 commit comments

Comments
 (0)