📋 Microsoft Entra Documentation Changes

Daily summary for changes since July 15th 2025, 8:40 PM PDT

Report generated on July 16th 2025, 8:40 PM PDT

📊 Summary

22
Total Commits
0
New Files
8
Modified Files
0
Deleted Files
12
Contributors

📝 Modified Documentation Files

+12 / -12 lines changed
Commit: Acrolinx fixes
Changes:
Before
After
- **C2** – Require compliant devices
- **C3** – Require trusted locations
 
To use the Conditional Access Auth Contexts create or modify your Conditional Access policies. Examples policies could be:
 
- All users signing-into this web application must successfully complete 2FA for auth context ID **C1**.
- All users signing into this web application must successfully complete 2FA and also access the app from a defined IP address range for auth context ID **C3**.
 
> [!NOTE]
> The Conditional Access auth context values are declared and maintained separately from applications. It is not advisable for applications to take hard dependency on auth context ids. IT Administrators usually craft Conditional Access policies as they have a better understanding of the resources available. For example, IT admins would know of how many users are equipped to use 2FA for MFA and can ensure that Conditional Access policies that require 2FA are scoped correctly.
> Similarly, if the application is used in multiple tenants, the auth context ids in use could be different and, in some cases, not available at all.
 
**Second**: The developers of an application planning to use Conditional Access auth context are advised to first provide the application admins or IT admins a means to map potential sensitive actions to auth context IDs. The steps roughly being:
 
1. Identity actions in the code that can be made available to map against auth context Ids.
1. Build a screen in the admin portal of the app (or an equivalent functionality) that IT admins can use to map sensitive actions against an available auth context ID.
1. See the code sample, [Use the Conditional Access Auth Context to perform step-up authentication](https://github.com/Azure-Samples/ms-identity-ca-auth-context/blob/main/README.md) for an example on how it's done.
 
These steps are the changes that you need to carry in your code base. The steps broadly comprise of
 
- **C2** – Require compliant devices
- **C3** – Require trusted locations
 
To use the Conditional Access Auth Contexts, create or modify your Conditional Access policies. Examples policies could be:
 
- All users signing-into this web application must successfully complete 2FA for auth context ID **C1**.
- All users signing into this web application must successfully complete 2FA and also access the app from a defined IP address range for auth context ID **C3**.
 
> [!NOTE]
> The Conditional Access auth context values are declared and maintained separately from applications. It is not advisable for applications to take hard dependency on auth context ids. IT Administrators usually craft Conditional Access policies as they have a better understanding of the resources available.
> Similarly, if the application is used in multiple tenants, the auth context ids in use could be different and, in some cases, not available at all.
 
**Second**: The developers of an application planning to use Conditional Access auth context are advised to first provide the application admins or IT admins a means to map potential sensitive actions to auth context IDs. The steps roughly being:
 
1. Identity actions in the code that can be made available to map against auth context Ids.
1. Build a screen in the admin portal of the app (or an equivalent functionality) that IT admins can use to map sensitive actions against an available auth context ID.
1. See the code sample, [Use the Conditional Access Auth Context to perform step-up authentication](https://github.com/Azure-Samples/ms-identity-ca-auth-context/blob/main/README.md) for an example.
 
These steps are the changes that you need to carry in your code base. The steps broadly comprise of
 
Modified by Gearoid O'Donnell on Jul 16, 2025 9:54 AM
📖 View on learn.microsoft.com
+4 / -4 lines changed
Commit: Fixing Acrolinx issues
Changes:
Before
After
Microsoft Entra ID returns an HTTP response with some interesting data:
 
> [!NOTE]
> In this instance it's a multi-factor authentication error description, but there's a wide range of `interaction_required` possible pertaining to Conditional Access.
 
```
HTTP 400; Bad Request
error=interaction_required
error_description=AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access '<Web API 2 App/Client ID>'.
claims={"access_token":{"polids":{"essential":true,"Values":["<GUID>"]}}}
```
 
```
HTTP 400; Bad Request
error=interaction_required
error_description=AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access '<Web API App/Client ID>'.
claims={"access_token":{"polids":{"essential":true,"Values":["<GUID>"]}}}
```
 
```
Microsoft Entra ID returns an HTTP response with some interesting data:
 
> [!NOTE]
> In this instance it's a multifactor authentication error description, but there's a wide range of `interaction_required` possible pertaining to Conditional Access.
 
```
HTTP 400; Bad Request
error=interaction_required
error_description=AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multifactor authentication to access '<Web API 2 App/Client ID>'.
claims={"access_token":{"polids":{"essential":true,"Values":["<GUID>"]}}}
```
 
```
HTTP 400; Bad Request
error=interaction_required
error_description=AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multifactor authentication to access '<Web API App/Client ID>'.
claims={"access_token":{"polids":{"essential":true,"Values":["<GUID>"]}}}
```
 
```
+2 / -2 lines changed
Commit: fixed USB and NFC for Deepnet SafeKey/Classic (NFC)
Changes:
Before
After
---
title: Microsoft Entra ID attestation for FIDO2 security key vendors
description: Explains requirements to prepare FIDO2 hardware for attestation with Microsoft Entra ID
ms.date: 07/09/2025
ms.service: entra-id
ms.subservice: authentication
author: justinha
Crayonic KeyVault K1 (USB-NFC-BLE FIDO2 Authenticator)|be727034-574a-f799-5c76-0929e0430973|&#x2705;|&#x2705;|&#x2705;|&#x2705;
Cryptnox FIDO2|9c835346-796b-4c27-8898-d6032f515cc5|&#10060;|&#10060;|&#x2705;|&#10060;
Cryptnox FIDO2.1|1d1b4e33-76a1-47fb-97a0-14b10d0933f1|&#10060;|&#10060;|&#x2705;|&#10060;
Deepnet SafeKey/Classic (NFC)|b12eac35-586c-4809-a4b1-d81af6c305cf|&#10060;|&#10060;|&#10060;|&#10060;
Egomet FIDO2 Authenticator for Android|1105e4ed-af1d-02ff-ffff-ffffffffffff|&#x2705;|&#10060;|&#10060;|&#10060;
Ensurity AUTH BioPro|454e5346-4944-4ffd-6c93-8e9267193e9b|&#x2705;|&#x2705;|&#10060;|&#10060;
Ensurity ThinC|454e5346-4944-4ffd-6c93-8e9267193e9a|&#x2705;|&#x2705;|&#10060;|&#10060;
---
title: Microsoft Entra ID attestation for FIDO2 security key vendors
description: Explains requirements to prepare FIDO2 hardware for attestation with Microsoft Entra ID
ms.date: 07/15/2025
ms.service: entra-id
ms.subservice: authentication
author: justinha
Crayonic KeyVault K1 (USB-NFC-BLE FIDO2 Authenticator)|be727034-574a-f799-5c76-0929e0430973|&#x2705;|&#x2705;|&#x2705;|&#x2705;
Cryptnox FIDO2|9c835346-796b-4c27-8898-d6032f515cc5|&#10060;|&#10060;|&#x2705;|&#10060;
Cryptnox FIDO2.1|1d1b4e33-76a1-47fb-97a0-14b10d0933f1|&#10060;|&#10060;|&#x2705;|&#10060;
Deepnet SafeKey/Classic (NFC)|b12eac35-586c-4809-a4b1-d81af6c305cf|&#10060;|&#x2705;|&#x2705;|&#10060;
Egomet FIDO2 Authenticator for Android|1105e4ed-af1d-02ff-ffff-ffffffffffff|&#x2705;|&#10060;|&#10060;|&#10060;
Ensurity AUTH BioPro|454e5346-4944-4ffd-6c93-8e9267193e9b|&#x2705;|&#x2705;|&#10060;|&#10060;
Ensurity ThinC|454e5346-4944-4ffd-6c93-8e9267193e9a|&#x2705;|&#x2705;|&#10060;|&#10060;
Modified by Patrick Strube on Jul 16, 2025 5:32 PM
📖 View on learn.microsoft.com
+1 / -1 lines changed
Commit: Update authorization-basics.md
Changes:
Before
After
 
Authorization logic is often implemented within the applications or solutions where access control is required. In many cases, application development platforms offer middleware or other API solutions that simplify the implementation of authorization. Examples include use of the [AuthorizeAttribute](/aspnet/core/security/authorization/simple?view=aspnetcore-5.0&preserve-view=true) in ASP.NET or [Route Guards](./scenario-spa-sign-in.md?tabs=angular2#sign-in-with-a-pop-up-window) in Angular.
 
For authorization approaches that rely on information about the authenticated entity, an application evaluates information exchanged during authentication. For example, by using the information that was provided within a [security token](./security-tokens.md). If you are planning on using information from tokens for authorization, we recommend following [this guidance on properly securing apps through claims validation](./claims-validation.md). in For information not contained in a security token, an application might make extra calls to external resources.
 
It's not strictly necessary for developers to embed authorization logic entirely within their applications. Instead, dedicated authorization services can be used to centralize authorization implementation and management.
 
 
Authorization logic is often implemented within the applications or solutions where access control is required. In many cases, application development platforms offer middleware or other API solutions that simplify the implementation of authorization. Examples include use of the [AuthorizeAttribute](/aspnet/core/security/authorization/simple?view=aspnetcore-5.0&preserve-view=true) in ASP.NET or [Route Guards](./scenario-spa-sign-in.md?tabs=angular2#sign-in-with-a-pop-up-window) in Angular.
 
For authorization approaches that rely on information about the authenticated entity, an application evaluates information exchanged during authentication. For example, by using the information that was provided within a [security token](./security-tokens.md). If you are planning on using information from tokens for authorization, we recommend following [this guidance on properly securing apps through claims validation](./claims-validation.md). For information not contained in a security token, an application might make extra calls to external resources.
 
It's not strictly necessary for developers to embed authorization logic entirely within their applications. Instead, dedicated authorization services can be used to centralize authorization implementation and management.
 
Modified by Diana Richards on Jul 16, 2025 2:15 PM
📖 View on learn.microsoft.com
+1 / -1 lines changed
Commit: Commiting with approval from the author
Changes:
Before
After
## Related content
 
- If you are migrating from Azure AD B2C, the [seamless user migration sample](https://github.com/azure-ad-b2c/samples/tree/master/policies/migrate-to-entra-external-id-for-customers) repository on GitHub contains a seamless migration custom policy example and REST API code sample.
- Learn more about [custom authentication extensions](https://learn.microsoft.com/en-us/entra/identity-platform/custom-extension-overview).
## Related content
 
- If you are migrating from Azure AD B2C, the [seamless user migration sample](https://github.com/azure-ad-b2c/samples/tree/master/policies/migrate-to-entra-external-id-for-customers) repository on GitHub contains a seamless migration custom policy example and REST API code sample.
- Learn more about [custom authentication extensions](/entra/identity-platform/custom-extension-overview).
Modified by Gearoid O'Donnell on Jul 16, 2025 9:54 AM
📖 View on learn.microsoft.com
+1 / -1 lines changed
Commit: Fixing Acrolinx issues
Changes:
Before
After
 
In addition, enabling single sign-on in your app unlocks new authentication mechanisms that come with modern authentication, like [passwordless logins](~/identity/authentication/concept-authentication-passwordless.md). Usernames and passwords are one of the most popular attack vectors against applications, and enabling SSO allows you to mitigate this risk by enforcing Conditional Access or passwordless logins that add extra security or rely on more secure authentication mechanisms. Finally, enabling single sign-on also enables [single sign-out](v2-protocols-oidc.md#single-sign-out). This is useful in situations like work applications that will be used on shared devices.
 
[App protection policies (APP)](/mem/intune/apps/app-protection-policy) ensure that an organization's data remains safe and contained. They allow companies to manage and protect their data within an app and allow control over who can access the app and its data. Implementing app protection policies enables your app to connect users to resources protected by Conditional Access policies and securely transfer data to and from other protected apps. Scenarios unlocked by app protection policies include requiring a PIN to open an app, controlling the sharing of data between apps, and preventing company app data from being saved to personal storage locations.
 
## Implementing single sign-on
 
 
In addition, enabling single sign-on in your app unlocks new authentication mechanisms that come with modern authentication, like [passwordless logins](~/identity/authentication/concept-authentication-passwordless.md). Usernames and passwords are one of the most popular attack vectors against applications, and enabling SSO allows you to mitigate this risk by enforcing Conditional Access or passwordless logins that add extra security or rely on more secure authentication mechanisms. Finally, enabling single sign-on also enables [single sign-out](v2-protocols-oidc.md#single-sign-out). This is useful in situations like work applications that will be used on shared devices.
 
[App protection policies (APP)](/mem/intune/apps/app-protection-policy) ensure that an organization's data remains safe and contained. They allow companies to manage and protect their data within an app and allow control over who can access the app and its data. Implementing app protection policies enables your app to connect users to resources protected by Conditional Access policies and securely transfer data to and from other protected apps. Scenarios unlocked by app protection policies include requiring a PIN to open an app, control the sharing of data between apps, and preventing company app data from being saved to personal storage locations.
 
## Implementing single sign-on
 
Modified by Gearoid O'Donnell on Jul 16, 2025 9:54 AM
📖 View on learn.microsoft.com
+1 / -1 lines changed
Commit: Fixing Acrolinx issues
Changes:
Before
After
| [Implicit grant](#implicit-grant) | User sign-in and access to web APIs on behalf of the user. *Do not use this flow - use authorization code with PKCE instead.* | * [Single-page app (SPA)](scenario-spa-app-registration.md) <br /> * [Web](scenario-web-api-call-api-app-registration.md) |
| [On-behalf-of (OBO)](#on-behalf-of-obo) | Access from an "upstream" web API to a "downstream" web API on behalf of the user. The user's identity and delegated permissions are passed through to the downstream API from the upstream API. | [Web API](scenario-web-api-call-api-app-registration.md) |
| [Username/password (ROPC)](#usernamepassword-ropc) | Allows an application to sign in the user by directly handling their password. *Do not use this flow.* | [Desktop, Mobile](scenario-desktop-acquire-token-username-password.md) |
| [Integrated Windows authentication (IWA)](#integrated-windows-authentication-iwa) | Allows applications on domain or Microsoft Entra joined computers to acquire a token silently (without any UI interaction from the user) *Worforce tenants only*. | [Desktop, Mobile](scenario-desktop-acquire-token-integrated-windows-authentication.md) |
 
## Tokens
 
| [Implicit grant](#implicit-grant) | User sign-in and access to web APIs on behalf of the user. *Do not use this flow - use authorization code with PKCE instead.* | * [Single-page app (SPA)](scenario-spa-app-registration.md) <br /> * [Web](scenario-web-api-call-api-app-registration.md) |
| [On-behalf-of (OBO)](#on-behalf-of-obo) | Access from an "upstream" web API to a "downstream" web API on behalf of the user. The user's identity and delegated permissions are passed through to the downstream API from the upstream API. | [Web API](scenario-web-api-call-api-app-registration.md) |
| [Username/password (ROPC)](#usernamepassword-ropc) | Allows an application to sign in the user by directly handling their password. *Do not use this flow.* | [Desktop, Mobile](scenario-desktop-acquire-token-username-password.md) |
| [Integrated Windows authentication (IWA)](#integrated-windows-authentication-iwa) | Allows applications on domain or Microsoft Entra joined computers to acquire a token silently (without any UI interaction from the user) *Workforce tenants only*. | [Desktop, Mobile](scenario-desktop-acquire-token-integrated-windows-authentication.md) |
 
## Tokens
 
+1 / -0 lines changed
Commit: Update policy-all-users-copilot-ai-security.md
Changes:
Before
After
 
## Related content
 
- [Use report-only mode for Conditional Access to determine the results of new policy decisions.](concept-conditional-access-report-only.md)
- [Secure Generative AI with Microsoft Entra](../../architecture/secure-generative-ai.md)
- [Microsoft Purview data security and compliance protections for generative AI apps](/purview/ai-microsoft-purview)
 
 
## Related content
 
- [Manage Microsoft 365 for iOS and Android with Microsoft Intune](/intune/intune-service/apps/manage-microsoft-office#copilot-with-enterprise-data-protection)
- [Use report-only mode for Conditional Access to determine the results of new policy decisions.](concept-conditional-access-report-only.md)
- [Secure Generative AI with Microsoft Entra](../../architecture/secure-generative-ai.md)
- [Microsoft Purview data security and compliance protections for generative AI apps](/purview/ai-microsoft-purview)