Skip to content

Commit aace995

Browse files
authored
Merge pull request #251478 from MicrosoftDocs/main
9/14/2023 AM Publish
2 parents fb79b91 + f94e0d1 commit aace995

File tree

130 files changed

+920
-539
lines changed

Some content is hidden

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

130 files changed

+920
-539
lines changed

articles/active-directory/app-provisioning/inbound-provisioning-api-postman.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ In this step, you'll configure the Postman app and invoke the API using the conf
3131
1. From the **Workspaces** menu, select **Create Workspace** to create a new Workspace called **Microsoft Entra ID Provisioning API**.
3232
1. Download the following Postman collections and save it in your local directory.
3333
- [Entra ID Inbound Provisioning.postman_collection.json](https://github.com/AzureAD/entra-id-inbound-provisioning/blob/main/Postman/Entra%20ID%20Inbound%20Provisioning.postman_collection.json) (Request collection)
34-
- [Test-API2AAD.postman_environment.json](https://github.com/AzureAD/entra-id-inbound-provisioning/blob/main/Postman/Test-API2AAD.postman_environment.json) (Environment collection for API-driven provisioning to on-premises AD)-
34+
- [Test-API2AAD.postman_environment.json](https://github.com/AzureAD/entra-id-inbound-provisioning/blob/main/Postman/Test-API2AAD.postman_environment.json) (Environment collection for API-driven provisioning to Azure AD)-
3535
- [Test-API2AD.postman_environment.json](https://github.com/AzureAD/entra-id-inbound-provisioning/blob/main/Postman/Test-API2AD.postman_environment.json) (Environment collection for API-driven provisioning to on-premises AD)
3636
1. Use the **Import** option in Postman to import both of these files into your Workspace.
3737
:::image type="content" source="media/inbound-provisioning-api-postman/postman-import-elements.png" alt-text="Screenshot of Postman Import elements." lightbox="media/inbound-provisioning-api-postman/postman-import-elements.png":::

articles/active-directory/app-proxy/app-proxy-protect-ndes.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: active-directory
88
ms.subservice: app-proxy
99
ms.workload: identity
1010
ms.topic: how-to
11-
ms.date: 04/19/2023
11+
ms.date: 09/13/2023
1212
ms.author: kenwith
1313
---
1414

@@ -28,10 +28,9 @@ Azure AD Application Proxy is built on Azure. It gives you a massive amount of n
2828

2929
[!INCLUDE [portal updates](~/articles/active-directory/includes/portal-update.md)]
3030

31-
1. Sign in to the [Azure portal](https://portal.azure.com) as an application administrator of the directory that uses Application Proxy. For example, if the tenant domain is contoso.com, the admin should be [email protected] or any other admin alias on that domain.
31+
1. Sign in to the [Microsoft Entra admin center](https://entra.microsoft.com) as at least a [Application Administrator](../roles/permissions-reference.md#application-administrator).
3232
1. Select your username in the upper-right corner. Verify you're signed in to a directory that uses Application Proxy. If you need to change directories, select **Switch directory** and choose a directory that uses Application Proxy.
33-
1. In left navigation panel, select **Azure Active Directory**.
34-
1. Under **Manage**, select **Application proxy**.
33+
1. Browse to **Identity** > **Applications** > **Enterprise applications** > **Application proxy**.
3534
1. Select **Download connector service**.
3635

3736
![Download connector service to see the Terms of Service](./media/app-proxy-protect-ndes/application-proxy-download-connector-service.png)

articles/active-directory/app-proxy/application-proxy-add-on-premises-application.md

Lines changed: 31 additions & 32 deletions
Large diffs are not rendered by default.

articles/active-directory/develop/howto-create-service-principal-portal.md

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,8 @@ You must have sufficient permissions to register an application with your Azure
3838

3939
[!INCLUDE [portal updates](~/articles/active-directory/includes/portal-update.md)]
4040

41-
1. Sign in to the [Azure portal](https://portal.azure.com).
42-
1. Search for and Select **Azure Active Directory**.
43-
1. Select **App registrations**, then select **New registration**.
41+
1. Sign in to the [Microsoft Entra admin center](https://entra.microsoft.com) as at least a [Cloud Application Administrator](../roles/permissions-reference.md#cloud-application-administrator).
42+
1. Browse to **Identity** > **Applications** > **App registrations** then select **New registration**.
4443
1. Name the application, for example "example-app".
4544
1. Select a supported account type, which determines who can use the application.
4645
1. Under **Redirect URI**, select **Web** for the type of application you want to create. Enter the URI where the access token is sent to.
@@ -76,8 +75,7 @@ The next section shows how to get values that are needed when signing in program
7675

7776
When programmatically signing in, pass the tenant ID and the application ID in your authentication request. You also need a certificate or an authentication key. To obtain the directory (tenant) ID and application ID:
7877

79-
1. Search for select **Azure Active Directory**.
80-
1. From **App registrations** in Azure AD, select your application.
78+
1. Browse to **Identity** > **Applications** > **App registrations**, then select your application.
8179
1. On the app's overview page, copy the Directory (tenant) ID value and store it in your application code.
8280
1. Copy the Application (client) ID value and store it in your application code.
8381

@@ -89,8 +87,7 @@ There are two types of authentication available for service principals: password
8987

9088
To upload the certificate file:
9189

92-
1. Search for and select **Azure Active Directory**.
93-
1. From **App registrations** in Azure AD, select your application.
90+
1. Browse to **Identity** > **Applications** > **App registrations**, then select your application.
9491
1. Select **Certificates & secrets**.
9592
1. Select **Certificates**, then select **Upload certificate** and then select the certificate file to upload.
9693
1. Select **Add**. Once the certificate is uploaded, the thumbprint, start date, and expiration values are displayed.
@@ -114,8 +111,7 @@ Export this certificate to a file using the [Manage User Certificate](/dotnet/fr
114111

115112
To upload the certificate:
116113

117-
1. Search for and select **Azure Active Directory**.
118-
1. From **App registrations** in Azure AD, select your application.
114+
1. Browse to **Identity** > **Applications** > **App registrations**, then select your application.
119115
1. Select **Certificates & secrets**.
120116
1. Select **Certificates**, then select **Upload certificate** and then select the certificate (an existing certificate or the self-signed certificate you exported).
121117
1. Select **Add**.
@@ -126,8 +122,7 @@ After registering the certificate with your application in the application regis
126122

127123
If you choose not to use a certificate, you can create a new application secret.
128124

129-
1. Search for and select **Azure Active Directory**.
130-
1. Select **App registrations** and select your application from the list.
125+
1. Browse to **Identity** > **Applications** > **App registrations**, then select your application.
131126
1. Select **Certificates & secrets**.
132127
1. Select **Client secrets**, and then Select **New client secret**.
133128
1. Provide a description of the secret, and a duration.

articles/active-directory/develop/msal-android-shared-devices.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ ms.custom: aaddev, identitypla | Azuretformtop40
1919

2020
Frontline workers such as retail associates, flight crew members, and field service workers often use a shared mobile device to do their work. That becomes problematic when they start sharing passwords or pin numbers to access customer and business data on the shared device.
2121

22-
Shared device mode allows you to configure an Android device so that it can be easily shared by multiple employees. Employees can sign in and access customer information quickly. When they're finished with their shift or task, they can sign out of the device and it will be immediately ready for the next employee to use.
22+
Shared device mode allows you to configure an Android device so that it can be easily shared by multiple employees. Employees can sign in and access customer information quickly. When they're finished with their shift or task, they can sign out of the device, and it will be immediately ready for the next employee to use.
2323

2424
Shared device mode also provides Microsoft identity backed management of the device.
2525

@@ -56,7 +56,7 @@ The following object model illustrates the type of object you may receive and wh
5656

5757
![public client application inheritance model](media/v2-shared-device-mode/ipublic-client-app-inheritance.png)
5858

59-
You'll need to do a type check and cast to the appropriate interface when you get your `PublicClientApplication` object. The following code checks for multiple account mode or single account mode, and casts the application object appropriately:
59+
You need to do a type check and cast to the appropriate interface when you get your `PublicClientApplication` object. The following code checks for multiple account modes or single account modes, and casts the application object appropriately:
6060

6161
```java
6262
private IPublicClientApplication mApplication;
@@ -83,7 +83,7 @@ The following differences apply depending on whether your app is running on a sh
8383

8484
## Why you may want to only support single-account mode
8585

86-
If you're writing an app that will only be used for frontline workers using a shared device, we recommend you write your application to only support single-account mode. This includes most applications that are task focused such as medical records apps, invoice apps, and most line-of-business apps. Only supporting single-account mode simplifies development because you won't need to implement the additional features that are part of multiple-account apps.
86+
If you're writing an app that will only be used for frontline workers using a shared device, we recommend you write your application to only support single-account mode. This includes most applications that are task focused such as medical records apps, invoice apps, and most line-of-business apps. Only supporting single-account mode simplifies development because you won't need to implement the other features that are part of multiple-account apps.
8787

8888
## What happens when the device mode changes
8989

@@ -101,13 +101,19 @@ These Microsoft applications support Azure AD's shared device mode:
101101
- [Microsoft Power BI Mobile](/power-bi/consumer/mobile/mobile-app-shared-device-mode) (preview)
102102
- [Microsoft Viva Engage](/viva/engage/overview) (previously [Yammer](/yammer))
103103

104+
## Third-party MDMs that support shared device mode
105+
106+
This third-party Mobile Device Management (MDM) that supports Azure AD's shared device mode:
107+
108+
- [VMware Workspace ONE](https://blogs.vmware.com/euc/2023/08/announcing-general-availability-of-shared-device-conditional-access-with-vmware-workspace-one-and-microsoft-entra-id.html)
109+
104110
## Shared device sign-out and the overall app lifecycle
105111

106-
When a user signs out, you'll need to take action to protect the privacy and data of the user. For example, if you're building a medical records app you'll want to make sure that when the user signs out previously displayed patient records are cleared. Your application must be prepared for data privacy and check every time it enters the foreground.
112+
When a user signs out, you need to take action to protect the privacy and data of the user. For example, if you're building a medical records app you want to make sure that when the user signs out previously displayed patient records are cleared. Your application must be prepared for data privacy and check every time it enters the foreground.
107113

108114
When your app uses MSAL to sign out the user in an app running on device that is in shared mode, the signed-in account and cached tokens are removed from both the app and the device.
109115

110-
The following diagram shows the overall app lifecycle and common events that may occur while your app runs. The diagram covers from the time an activity launches, signing in and signing out an account, and how events such as pausing, resuming, and stopping the activity fit in.
116+
The following diagram shows the overall app lifecycle and common events that may occur while your app runs. The diagram covers from the time an activity launch, signing in and signing out an account, and how events such as pausing, resuming, and stopping the activity fit in.
111117

112118
![Shared device app lifecycle](media/v2-shared-device-mode/lifecycle.png)
113119

articles/active-directory/develop/msal-js-known-issues-ie-edge-browsers.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,49 +19,51 @@ ms.custom: aaddev, devx-track-js
1919
# Known issues on Internet Explorer and Microsoft Edge browsers (MSAL.js)
2020

2121
## Issues due to security zones
22-
We had multiple reports of issues with authentication in IE and Microsoft Edge (since the update of the *Microsoft Edge browser version to 40.15063.0.0*). We are tracking these and have informed the Microsoft Edge team. While Microsoft Edge works on a resolution, here is a description of the frequently occurring issues and the possible workarounds that can be implemented.
22+
We had multiple reports of issues with authentication in IE and Microsoft Edge (since the update of the *Microsoft Edge browser version to 40.15063.0.0*). We're tracking these and have informed the Microsoft Edge team. While Microsoft Edge works on a resolution, here's a description of the frequently occurring issues and the possible workarounds that can be implemented.
2323

2424
### Cause
2525
The cause for most of these issues is as follows. The session storage and local storage are partitioned by security zones in the Microsoft Edge browser. In this particular version of Microsoft Edge, when the application is redirected across zones, the session storage and local storage are cleared. Specifically, the session storage is cleared in the regular browser navigation, and both the session and local storage are cleared in the InPrivate mode of the browser. MSAL.js saves certain state in the session storage and relies on checking this state during the authentication flows. When the session storage is cleared, this state is lost and hence results in broken experiences.
2626

2727
### Issues
2828

29-
- **Infinite redirect loops and page reloads during authentication**. When users sign in to the application on Microsoft Edge, they are redirected back from the AAD login page and are stuck in an infinite redirect loop resulting in repeated page reloads. This is usually accompanied by an `invalid_state` error in the session storage.
29+
- **Infinite redirect loops and page reloads during authentication**. When users sign in to the application on Microsoft Edge, they're redirected back from the AAD login page and are stuck in an infinite redirect loop resulting in repeated page reloads. This is usually accompanied by an `invalid_state` error in the session storage.
3030

31-
- **Infinite acquire token loops and AADSTS50058 error**. When an application running on Microsoft Edge tries to acquire a token for a resource, the application may get stuck in an infinite loop of the acquire token call along with the following error from AAD in your network trace:
31+
- **Infinite acquire token loops and AADSTS50058 error**. When an application that is run on Microsoft Edge tries to acquire a token for a resource, the application may get stuck in an infinite loop of the acquire token call. The following error is returned from AAD in your network trace:
3232

3333
`Error :login_required; Error description:AADSTS50058: A silent sign-in request was sent but no user is signed in. The cookies used to represent the user's session were not sent in the request to Azure AD. This can happen if the user is using Internet Explorer or Edge, and the web app sending the silent sign-in request is in different IE security zone than the Azure AD endpoint (login.microsoftonline.com)`
3434

3535
- **Pop-up window doesn't close or is stuck when using login through pop-up window to authenticate**. When authenticating through a pop-up window in Microsoft Edge or IE (InPrivate), after entering credentials and signing in, if multiple domains across security zones are involved in the navigation, the pop-up window doesn't close because `MSAL.js` loses the handle to the pop-up window.
3636

37+
- **Cannot log in using redirect URL prefixed with tauri**. The only supported schemes for redirect URIs are `https:` for production apps and `http://localhost` for local development. If you attempt to use a different scheme, like `tauri://localhost`, for a mobile or desktop application, the below error message appears. This error arises as a result of how the backend of the SPA is designed.
38+
39+
`AADSTS90023: Cross-origin token redemption is permitted only for the 'Single-Page Application' client-type or 'Native' client-type with origin registered in AllowedOriginForNativeAppCorsRequestInOAuthToken allow list.`
40+
3741
### Update: Fix available in MSAL.js 0.2.3
3842
Fixes for the authentication redirect loop issues have been released in [MSAL.js 0.2.3](https://github.com/AzureAD/microsoft-authentication-library-for-js/releases). Enable the flag `storeAuthStateInCookie` in the MSAL.js config to take advantage of this fix. By default this flag is set to false.
3943

40-
When the `storeAuthStateInCookie` flag is enabled, MSAL.js will use the browser cookies to store the request state required for validation of the auth flows.
44+
When the `storeAuthStateInCookie` flag is enabled, MSAL.js uses the browser cookies to store the request state required for validation of the auth flows.
4145

4246
> [!NOTE]
43-
> This fix is not yet available for the `msal-angular` and `msal-angularjs` wrappers. This fix does not address the issue with pop-up windows.
44-
45-
Use workarounds below.
47+
> This fix is not yet available for the `msal-angular` and `msal-angularjs` wrappers. This fix doesn't address the issue with pop-up windows.
4648
4749
#### Other workarounds
4850
Make sure to test that your issue is occurring only on the specific version of Microsoft Edge browser and works on the other browsers before adopting these workarounds.
49-
1. As a first step to get around these issues, ensure that the application domain and any other sites involved in the redirects of the authentication flow are added as trusted sites in the security settings of the browser, so that they belong to the same security zone.
51+
1. As a first step to get around these issues, ensure that the application domain and any other sites involved in the redirects of the authentication flow are added as trusted sites in the security settings of the browser. This ensures the redirects belong to the same security zone.
5052
To do so, follow these steps:
5153
- Open **Internet Explorer** and click on the **settings** (gear icon) in the top-right corner
5254
- Select **Internet Options**
5355
- Select the **Security** tab
5456
- Under the **Trusted Sites** option, click on the **sites** button and add the URLs in the dialog box that opens.
5557

56-
2. As mentioned before, since only the session storage is cleared during the regular navigation, you may configure MSAL.js to use the local storage instead. This can be set as the `cacheLocation` config parameter while initializing MSAL.
58+
4. As mentioned before, since only the session storage is cleared during the regular navigation, you may configure MSAL.js to use the local storage instead. This can be set as the `cacheLocation` config parameter while initializing MSAL.
5759

58-
Note, this will not solve the issue for InPrivate browsing since both session and local storage are cleared.
60+
Note, these workarounds won't solve the issue for InPrivate browsing since both session and local storage are cleared.
5961

6062
## Issues due to popup blockers
6163

62-
There are cases when popups are blocked in IE or Microsoft Edge, for example when a second popup occurs during [multi-factor authentication](../authentication/concept-mfa-howitworks.md). You will get an alert in the browser to allow for the pop-up window once or always. If you choose to allow, the browser opens the pop-up window automatically and returns a `null` handle for it. As a result, the library does not have a handle for the window and there is no way to close the pop-up window. The same issue does not happen in Chrome when it prompts you to allow pop-up windows because it does not automatically open a pop-up window.
64+
There are cases when popups are blocked in IE or Microsoft Edge, for example when a second popup occurs during [multi-factor authentication](../authentication/concept-mfa-howitworks.md). You'll get an alert in the browser to allow for the pop-up window once or always. If you choose to allow, the browser opens the pop-up window automatically and returns a `null` handle for it. As a result, the library doesn't have a handle for the window and there's no way to close the pop-up window. The same issue doesn't happen in Chrome when it prompts you to allow pop-up windows because it doesn't automatically open a pop-up window.
6365

64-
As a **workaround**, developers will need to allow popups in IE and Microsoft Edge before they start using their app to avoid this issue.
66+
As a **workaround**, developers need to allow popups in IE and Microsoft Edge before they start using their app to avoid this issue.
6567

6668
## Next steps
6769
Learn more about [Using MSAL.js in Internet Explorer](msal-js-use-ie-browser.md).

0 commit comments

Comments
 (0)