Entra SCIM provisioning – OAuth2 Client Credentials Grant sends two sets of client credentials to token endpoint (Basic and form), causing token issuance to fail

Andy Paciocco 25 Reputation points
2025-08-06T14:59:56.0766667+00:00

I am trying to configure SCIM provisioning to a non-gallery app using the very new option of OAuth2 Client Credentials authentication, but the connection test is returning an error. This is because the provisioning service’s token request includes both:

an Authorization: Basic <base64(client_id:client_secret)> header, and

client_id & client_secret in the application/x-www-form-urlencoded body.

Our token server rejects this as “Multiple client credentials cannot be specified.” Per OAuth 2.0 client authentication guidance, only one client authentication method should be used per request. As a result, the connection test fails unless we insert a token manually.

  • Postman works against the same token endpoint using either Basic or body creds (individually).
  • Entra with the same client id/secret fails with “Multiple client credentials…” from the token server.

Proof (webhook test):

  1. Pointed Token Endpoint to a webhook URL; set Tenant URL to another webhook URL.
  2. Entra’s token request (captured):
    • Headers: Authorization: Basic dGVzdDp0ZXN0
    • Body (x-www-form-urlencoded): grant_type=client_credentials&client_id=test&client_secret=test ⇒ Entra is sending both Basic and form client credentials in the same request.

Is there any way to disable this dual-credential behavior?

Microsoft Security | Microsoft Entra | Microsoft Entra ID

Answer accepted by question author
Anonymous
2025-09-02T10:41:23.77+00:00

Hi @Andy Paciocco,

Thank you for posting your query on Microsoft Q&A.

As we understand, you are configuring SCIM provisioning in Microsoft Entra ID for a non-gallery application using the OAuth2 Client Credentials grant, but your token server is rejecting the request because Entra's provisioning service sends both a Basic Authorization header and client credentials in the request body, resulting in "Multiple client credentials cannot be specified" errors. This does not occur with Postman when you use only one authentication method.

This is because Microsoft Entra SCIM provisioning’s OAuth2 Client Credentials flow, as implemented, always sends both:

  • the Authorization: Basic <base64(client_id:client_secret)> HTTP header and
  • the client_id and client_secret in the body as per form encoding.

Many standards-compliant OAuth2 servers (such as those enforced by your organization) expect only one client credential method and will reject requests that include both.

Please follow the steps below to solve the issue:

1. Use the Azure AD Connect Provisioning Agent (On-Premises SCIM Agent):

  • Deploy the agent on a VM in your environment.
  • Configure your on-premises SCIM application connection through the agent in the Entra portal.
  • This method avoids the dual-authentication issue and uses only a Bearer token for authentication.

2. Check and Monitor for Microsoft Updates:

  • Microsoft is aware that strict token endpoints may reject dual authentication, and this behavior could change as the product evolves.

3. Workarounds If Using Cloud Provisioning Is Required:

  • If you must use Entra’s built-in cloud-based provisioning, confirm if your token server can be configured to accept both credentials, even if this is not standards-compliant (some servers have a flag for lenient authentication parsing).
  • Alternately, if supported, create a simple proxy/middleware that removes either the Basic header or the body credentials, but this introduces additional complexity.

 Please refer to:

·       Install the Microsoft Entra provisioning agent

Please "Accept as Answer" if the answer provided is useful, so that you can help others in the community looking for remediation for similar issues.

Was this answer helpful?

1 person found this answer helpful.

3 additional answers

Sort by: Newest
  1. Jeevan Desarda 91 Reputation points Microsoft Employee
    2026-07-17T21:06:39.2266667+00:00

    We are working on this solution and the first change which you will see coming is that the Non-Gallery application template soon will show you the option to choose the Client Credentials in Header or in Body but not in both. Per standard we will default to Header but you will have a UX option to change that to Body as needed. For all new SCIM Provisioning applications we are going to enable the Client Credentials authentication only in one way so that this problem does not occur. We are also working with all other ISVs who support client credentials authentication to update it in this way so that everyone is compliant.

    Was this answer helpful?

    0 comments No comments

  2. John Case 0 Reputation points
    2026-05-26T13:29:56.7033333+00:00

    The SCIM protocol specification explicitly states "The client MUST NOT use more than one authentication method in each request."

    https://datatracker.ietf.org/doc/html/rfc6749#section-2.3

    Does Microsoft intend to stay non-compliant indefinitely?

    Was this answer helpful?

    3 people found this answer helpful.
    0 comments No comments

  3. Claudiu 0 Reputation points
    2025-08-07T12:31:23.1766667+00:00

    Same issue.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.