Skip to content

Commit 99a6323

Browse files
authored
Merge pull request #8866 from MicrosoftDocs/main
Auto push to live 2025-05-06 02:31:38
2 parents 18af1ba + 2b3bfe0 commit 99a6323

File tree

8 files changed

+237
-36
lines changed

8 files changed

+237
-36
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
---
2+
title: AADSTS7500514 - A Supported Type of SAML Response was not Found with PingFederate
3+
description: Describes error code `AADSTS7500514` that's returned if a federated account tries to authenticate by using Microsoft Entra ID.
4+
ms.date: 04/17/2025
5+
ms.author: bachoang
6+
ms.service: entra-id
7+
ms.custom: sap:Issues Signing In to Applications, has-azure-ad-ps-ref
8+
keywords: AADSTS50020
9+
---
10+
11+
# AADSTS7500514 - A supported type of SAML response was not found with PingFederate
12+
13+
This article helps you troubleshoot error code `AADSTS7500514` that's returned if a PingFederate federated account tries to authenticate by using Microsoft Entra ID (formerly Azure Active Directory).
14+
15+
## Symptoms
16+
17+
When a federated account tries to authenticate by using Microsoft Entra ID from a Microsoft Authentication Library (MSAL)-based or Active Directory Authentication Library (ADAL)-based application, the sign-in fails. The following error message is displayed:
18+
19+
```output
20+
{
21+
error: "invalid_request",
22+
error_description: "AADSTS7500514: A supported type of SAML response was not found. The supported response types are 'Response' (in XML namespace 'urn:oasis:names:tc:SAML:2.0:protocol') or 'Assertion' (in XML namespace 'urn:oasis:names:tc:SAML:2.0:assertion').
23+
....
24+
error_uri: "https://login.microsoftonline.com/error?code=7500514"
25+
}
26+
```
27+
28+
The error typically occurs in the following environment:
29+
30+
- A federated account that uses [PingFederate](https://www.pingidentity.com/) as the identity provider.
31+
- The identity provider is configured to issue a SAML 1.1 token by using the WS-Trust protocol.
32+
- The application uses one of the following APIs for authentication:
33+
- MSAL `AcquireTokenByUserNamePassword` method.
34+
- ADAL `AcquireToken`(string resource, string clientId, UserCredential userCredential) method.
35+
- Any PowerShell module that uses these MSAL or ADAL methods.
36+
37+
## Cause
38+
39+
Because [ADAL is now deprecated](/entra/identity/monitoring-health/recommendation-migrate-from-adal-to-msal), this article focuses on the MSAL.
40+
41+
This issue occurs if the SAML response from PingFederate doesn't contain the SAML version or uses a format that MSAL can't recognize. Typically, this situation is caused by a misconfiguration on the PingFederate side for Microsoft Entra ID.
42+
43+
### Root cause analysis: SAML token version detection
44+
45+
When MASL authenticates a federated account, it determines whether the account is a managed account or a federated account.
46+
47+
For managed accounts, MSAL uses the [Resource Owner Password Credentials grant flow](/entra/identity-platform/v2-oauth-ropc). For federated accounts, it uses the [SAML Assertion Grant flow](/azure/active-directory/develop/v2-saml-bearer-assertion).
48+
49+
The SAML Assertion Grant flow has two steps:
50+
51+
- The client application authenticates to the federated identity provider to obtain a SAML token.
52+
- The client uses the obtained SAML token to get an OAuth 2.0 JWT token from Microsoft Entra ID.
53+
54+
The authentication error typically occurs in step 1, in which the client application has to parse the SAML response from the identity provider to determine the version of the SAML token. MSAL looks for the following attributes in the identity provider's SAML response:
55+
56+
- `saml:Assertion`
57+
- `TokenType`
58+
59+
The following is an example AD FS SAML response from the `/UserNameMixed` endpoint:
60+
61+
- `saml:Assertion`: major version = 1, minor version = 1
62+
- `TokenType`: `urn:oasis:names:tc:SAML:1.0:assertion`
63+
64+
:::image type="content" source="media/error-code-aadsts7500514-supported-type-saml-response-not-found/adfs-saml-response.png" alt-text="Screenshot of ADFS SAML Response." lightbox="media/error-code-aadsts7500514-supported-type-saml-response-not-found/adfs-saml-response.png":::
65+
66+
Example of a PingFederate SAML response (SAML Assertion Grant flow step 1):
67+
68+
:::image type="content" source="media/error-code-aadsts7500514-supported-type-saml-response-not-found/pingid-saml-response.png" alt-text="Screenshot of PingFederate SAML Response for SAML Assertion Grant flow step 1." lightbox="media/error-code-aadsts7500514-supported-type-saml-response-not-found/pingid-saml-response.png":::
69+
70+
When you compare these responses, you find that PingFederate returns a different TokenType value (`http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1`) for the same SAML 1.1 token. However, MSAL doesn't support any TokenType value other than `urn:oasis:names:tc:SAML:1.0:assertion`.
71+
72+
If the identity provider returns a different or unexpected value in the SAML response, MSAL might incorrectly interpret the token as SAML 2.0. In this case, it uses the corresponding `grant_type` value during step 2 of the SAML Assertion Grant flow.
73+
74+
Example of the request sent from MSAL application by using PingFederate (SAML Assertion Grant flow step 2):
75+
76+
:::image type="content" source="media/error-code-aadsts7500514-supported-type-saml-response-not-found/pingid-saml-response-2.png" alt-text="Screenshot of request sent from MSAL application with PingFederate in SAML Assertion Grant flow step 2." lightbox="media/error-code-aadsts7500514-supported-type-saml-response-not-found/pingid-saml-response-2.png":::
77+
78+
Example of the request that's sent from the MSAL application by using AD FS:
79+
80+
:::image type="content" source="media/error-code-aadsts7500514-supported-type-saml-response-not-found/pingid-saml-response-3.png" alt-text="Screenshot of request sent from MSAL application by using AD FS in SAML Assertion Grant flow step 2." lightbox="media/error-code-aadsts7500514-supported-type-saml-response-not-found/pingid-saml-response-3.png":::
81+
82+
In this step, the value of the `grant_type` parameter must align with the actual version of the SAML token. One of the following values is used by the MSAL application:
83+
84+
- urn:ietf:params:oauth:grant-type:saml2-bearer - for SAML 2.0 tokens
85+
- urn:ietf:params:oauth:grant-type:saml1_1-bearer - for SAML 1.1 tokens
86+
87+
In the PingFederate example, MSAL uses the `saml2-bearer` as the `grant_type` based on its misinterpretation of the SAML version. This causes a version mismatch between the `grant_type` parameter and the SAML token that's included in the assertion that causes the authentication error.
88+
89+
## Solution
90+
91+
To resolve this issue, make sure that PingFederate is configured to align with Microsoft Entra ID requirements. For step-by-step instructions, review the following articles:
92+
93+
- [Creating a connection to Microsoft Entra ID](https://docs.pingidentity.com/integrations/azure/azure_ad_and_office_365_integration_guide/pf_azuread_office365_integration_creating_a_connection_to_azure_active_directory.html).
94+
95+
During Microsoft Entra ID connection setup, pay special attention to the settings in the following steps:
96+
97+
1. Configure the connection protocols.
98+
2. On the **Connection Template** tab, select **Do not use a template for this connection**, and then select **Next**.
99+
3. On the **Connection Type** tab, select **Browser SSO Profiles**.
100+
4. In the Protocol list, select **WS-Federation**.
101+
5. In the **WS-Federation Token Type** list, select **SAML 1.1**.
102+
6. If you want to support active federation, select the **WS-Trust STS** checkbox.
103+
104+
- [Configuring WS-Trust STS](https://docs.pingidentity.com/integrations/azure/azure_ad_and_office_365_integration_guide/pf_azuread_office365_integration_configuring_ws_trust_sts.html)
105+
106+
When you configure WS-Trust STS, make sure that you select **SAML 1.1 for Office 365** as the Default Token Type.
107+
108+
[!INCLUDE [Third-party disclaimer](../../../includes/third-party-disclaimer.md)]
109+
[!INCLUDE [Azure Help Support](../../../includes/azure-help-support.md)]
Loading
Loading
Loading
Loading

support/entra/entra-id/toc.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@
8181
href: app-integration/send-notification-details.md
8282
- name: Troubleshoot sign-in to apps
8383
items:
84+
- name: AADSTS7500514 - A supported type of SAML response was not found
85+
href: app-integration/error-code-aadsts7500514-supported-type-saml-response-not-found.md
86+
- name: Error AADSTS220501 - Unable to download Certificate Revocation List
8487
- name: Error code AADSTS50173 - The provided grant has expired due to it being revoked
8588
href: app-integration/error-code-aadsts50173-grant-expired-revoked.md
8689
- name: Error AADSTS220501 - Unable to download Certificate Revocation List
@@ -280,6 +283,8 @@
280283
href: app-integration/graph-api-error-handling-invoke-restmethod.md
281284
- name: Troubleshoot Authorization RequestDenied error
282285
href: app-integration/troubleshoot-authorization-requestdenied-graph-api.md
286+
- name: 403 error when adding a user to a group
287+
href: users-groups-entra-apis/authorization-requestdenied-403-error-add-user-group.md
283288
- name: 404 error when managing objects
284289
href: app-integration/404-not-found-error-manage-objects-microsoft-graph.md
285290
- name: Use managed identities to call Graph APIs in VB.Net and C#
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
---
2+
title: Troubleshoot Error 403 When Adding a User to a Group By Using Microsoft Graph API
3+
description: Provides solutions for the 403 Authorization_RequestDenied error that occurs when you add a user to a group by using Microsoft Graph API.
4+
ms.date: 04/21/2025
5+
ms.service: entra-id
6+
ms.author: bachoang
7+
ms.custom: sap:Getting access denied errors (Authorization)
8+
---
9+
10+
# Troubleshoot 403 error when adding a user to a group by using Microsoft Graph API
11+
12+
This article provides guidance for troubleshooting a "403 Authorization_RequestDenied" error that occurs when you try to add a user to a group by using the Microsoft Graph API.
13+
14+
## Symptoms
15+
16+
When you try to add a user to a group by using Microsoft Graph API, you receive the following "403" error message:
17+
18+
```output
19+
{
20+
"error": {
21+
"code": "Authorization_RequestDenied",
22+
"message": "Insufficient privileges to complete the operation.",
23+
"innerError": {
24+
"date": "2024-05-07T15:39:39",
25+
"request-id": "aa324f0f-b4a3-4af6-9c4f-996e195xxxx",
26+
"client-request-id": "aa324f0f-b4a3-4af6-9c4f-996e1959074e"
27+
}
28+
}
29+
}
30+
```
31+
32+
## Cause
33+
34+
This issue occurs if the group that you tried to add the user to can't be managed by Microsoft Graph. Microsoft Graph supports only Microsoft 365 groups and Security groups.
35+
36+
## Solution
37+
38+
### Step 1: Check the group type
39+
40+
Make sure that the group you trying to modify is supported by Microsoft Graph.
41+
42+
1. In Microsoft Graph, the group type can be determined by the settings of its `groupTypes`, `mailEnabled`, and `securityEnabled` properties. Use the [Microsoft Graph Explorer](https://developer.microsoft.com/graph/graph-explorer) to check the group's attributes:
43+
44+
```http
45+
https://graph.microsoft.com/v1.0/groups/<Group Object ID>?$select=displayName,groupTypes,mailEnabled,securityEnable
46+
```
47+
48+
Example response:
49+
50+
```output
51+
{
52+
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups(displayName,groupTypes,mailEnabled,securityEnabled)/$entity",
53+
"displayName": "Test group A",
54+
"groupTypes": [],
55+
"mailEnabled": true,
56+
"securityEnabled": false
57+
}
58+
59+
```
60+
61+
2. Review the following table to verify that the group type is supported by Microsoft Graph API. In the example response, the "Test group A" group is a Distribution group that can't be supported by Microsoft Graph. For more information, see [Working with groups in Microsoft Graph](/graph/api/resources/groups-overview).
62+
63+
| Type |groupTypes | mailEnabled | securityEnabled | Can be managed by using Microsoft Graph APIs |
64+
|--|--|--|--|--|
65+
| [Microsoft 365 groups](/graph/api/resources/groups-overview#microsoft-365-groups) | `["Unified"]` | `true` | `true` or `false` | Yes |
66+
| [Security groups](/graph/api/resources/groups-overview#security-groups-and-mail-enabled-security-groups) | `[]` | `false` | `true` | Yes |
67+
| [Mail-enabled security groups](/graph/api/resources/groups-overview#security-groups-and-mail-enabled-security-groups) | `[]` | `true` | `true` | No; read-only through Microsoft Graph |
68+
| Distribution groups | `[]` | `true` | `false` | No; read-only through Microsoft Graph |
69+
70+
> [!NOTE]
71+
> - Group type can't be changed after creation. For more information, see [Edit group settings](/entra/fundamentals/how-to-manage-groups#edit-group-settings).
72+
> - The membership of a dynamic group (**groupTypes** contains "DynamicMembership") can't be managed through Microsoft Graph.
73+
74+
### Step 2: Verify required permissions
75+
76+
Different group member types require specific permissions. For user-type membership, make sure that the application or account that performs the operation has the `GroupMember.ReadWrite.All` permission.
77+
78+
For detailed permission requirements, see [Add members documentation](/graph/api/group-post-members).
79+
80+
### Step 3: Check whether the group is a role-assignable group
81+
82+
1. Role-assignable groups require extra permissions to manage their members. You can verify that the group is role-assignable by using Azure portal or Microsoft Graph Explorer:
83+
84+
**Azure portal**
85+
86+
1. In the [Azure portal](https://portal.azure.com), go to **Microsoft Entra ID**, select **Groups**, and then select **All groups**.
87+
1. Locate the target group, select **Properties**, and then check whether **Microsoft Entra role can be assigned to the group** is set to **Yes**.
88+
89+
**Microsoft Graph Explorer**
90+
91+
To check the `isAssignableToRoles` value, run the following request:
92+
93+
```http
94+
GET https://graph.microsoft.com/v1.0/groups/<group object="" id="">?$select=displayName,groupTypes,mailEnabled,securityEnabled,isAssignableToRole
95+
```
96+
Example response:
97+
98+
```output
99+
{
100+
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups(displayName,groupTypes,mailEnabled,securityEnabled,isAssignableToRole)/$entity",
101+
"displayName": "Test group B",
102+
"groupTypes": [],
103+
"mailEnabled": false,
104+
"securityEnabled": true,
105+
"isAssignableToRole": true
106+
}
107+
```
108+
109+
2. If the group is role-assignable, you need the `RoleManagement.ReadWrite.Directory` permission in addition to `GroupMember.ReadWrite.All`. For more information, see [Add members documentation](/graph/api/group-post-members).
110+
111+
[!INCLUDE [Azure Help Support](../../../includes/azure-help-support.md)]

support/windows-server/active-directory/active-directory-domain-join-troubleshooting-guidance.md

Lines changed: 12 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Active Directory domain join troubleshooting guidance
33
description: Provides guidance to troubleshoot domain join issues.
4-
ms.date: 01/15/2025
4+
ms.date: 05/06/2025
55
manager: dcscontentpm
66
audience: itpro
77
ms.topic: troubleshooting
@@ -51,41 +51,17 @@ The following table lists the ports required to be open between the client compu
5151

5252
## Common issues and solutions
5353

54-
### Error code 0x569
55-
56-
For more information, see [Error code 0x569: The user has not been granted the requested logon type at this computer](error-0x569-not-granted-logon-type.md).
57-
58-
### Error code 0x6BF or 0xC002001C
59-
60-
For more information, see [Status code 0x6bf or 0xc002001c: The remote procedure call failed and did not execute](status-code-0x6bf-0xc002001c.md).
61-
62-
### Error code 0x6D9
63-
64-
See [Domain join error 0x6D9 "There are no more endpoints available from the endpoint mapper"](./domain-join-error-0x6d9-there-are-no-more-endpoints-available-from-the-endpoint-mapper.md) for troubleshooting guide.
65-
66-
### Error code 0xa8b
67-
68-
For more information, see [Error code 0xa8b: An attempt to resolve the DNS name of a DC in the domain being joined has failed](error-0xa8b-resolve-dns-fail.md).
69-
70-
### Error code 0x40
71-
72-
For more information, see [Domain join error 0x40 "The specified network name is no longer available"](domain-join-error-0x40-the-specified-network-name-is-no-longer-available.md).
73-
74-
### Error code 0x54b
75-
76-
For more information, see [Domain join error code 0x54b](error-code-0x54b.md).
77-
78-
### Error code 0x0000232A
79-
80-
See [Domain join error code 0x0000232A](error-code-0x0000232a.md) for troubleshooting guide.
81-
82-
### Error code 0x3a
83-
84-
For more information, see [Status code 0x3a: The specified server cannot perform the requested operation](status-code-0x3a-server-not-perform-operation.md).
85-
86-
### Error code 0x216d
87-
88-
For more information, see [Status code 0x216d: Your computer could not be joined to the domain](status-code-0x216d-not-joined-domain.md).
54+
|Domain join error code|Cause|Related article|
55+
|---|---|---|
56+
|0x569|This error occurs because the domain join user account lacks the **Access this computer from the network** user right at the domain controller (DC) servicing the domain join operation.|[Troubleshooting error code 0x569: The user has not been granted the requested logon type at this computer](error-0x569-not-granted-logon-type.md) |
57+
|0x6BF or 0xC002001C|This error occurs when a network device (router, firewall, or virtual private network (VPN) device) rejects network packets between the client being joined and the domain controller (DC).|[Troubleshooting status code 0x6bf or 0xc002001c: The remote procedure call failed and did not execute](status-code-0x6bf-0xc002001c.md) |
58+
|0x6D9|This error occurs when network connectivity is blocked between the joining client and the Domain Controller (DC).|[Troubleshooting error code 0x6D9 "There are no more endpoints available from the endpoint mapper"](./domain-join-error-0x6d9-there-are-no-more-endpoints-available-from-the-endpoint-mapper.md) |
59+
|0xa8b|This error occurs when you join a workgroup computer to a domain.|[Troubleshooting error code 0xa8b: An attempt to resolve the DNS name of a DC in the domain being joined has failed](error-0xa8b-resolve-dns-fail.md) |
60+
|0x40|The issue is related to getting Kerberos Tickets for a Server Message Block (SMB) session.|[Troubleshooting error code 0x40 "The specified network name is no longer available"](domain-join-error-0x40-the-specified-network-name-is-no-longer-available.md) |
61+
|0x54b|This error occurs because the specified domain can't be contacted, pointing to issues locating domain controllers (DCs).|[Troubleshooting error code 0x54b](error-code-0x54b.md) |
62+
|0x0000232A|This error indicates that the Domain Name System (DNS) name can't be resolved.|[Troubleshooting error code 0x0000232A](error-code-0x0000232a.md) |
63+
|0x3a|This error occurs when the client computer lacks reliable network connectivity on Transmission Control Protocol (TCP) 389 port between the client computer and the domain controller (DC).|[Troubleshooting status code 0x3a: The specified server cannot perform the requested operation](status-code-0x3a-server-not-perform-operation.md) |
64+
|0x216d|This error occurs when the user account has exceeded the limit of 10 computers that can be joined to the domain, or when a Group Policy restricts users from joining computers to the domain.|[Troubleshooting status code 0x216d: Your computer could not be joined to the domain](status-code-0x216d-not-joined-domain.md) |
8965

9066
### Other errors that occur when you join Windows-based computers to a domain
9167

0 commit comments

Comments
 (0)