auth0-java icon indicating copy to clipboard operation
auth0-java copied to clipboard

Unable to set token_endpoint_auth_method to null

Open ina-schaal opened this issue 1 year ago • 0 comments

Checklist

  • [X] I have looked into the Readme and Examples, and have not found a suitable solution or answer.
  • [X] I have looked into the API documentation and have not found a suitable solution or answer.
  • [X] I have searched the issues and have not found a suitable solution or answer.
  • [X] I have searched the Auth0 Community forums and have not found a suitable solution or answer.
  • [X] I agree to the terms within the Auth0 Code of Conduct.

Description

I want to configure my application to use private key authentication in "client_authentication_methods". For this I need to set "token_endpoint_auth_method" to null, however the SDK does not allow for null values to be set due to @JsonInclude(Include.NON_NULL) on src/main/java/com/auth0/json/mgmt/client/Client.java. I agree that omitting fields if they are null is ok for most fields, however in this case it prevents clients from switching to the private key authentication method. As a suggestion, maybe adding another allowed value to token_endpoint_auth_method (apart from 'none', client_secret_post', 'client_secret_basic') to represent "null" would work.

Reproduction

  1. Have a Machine to Machine client with client secret (token_endpoint_auth_method=client_secret_post)
  2. Create a credential
  3. Add the credential to the client via the SDK, using the update client method, while setting token_endpoint_auth_method=null
  4. Observe error message: "token_endpoint_auth_method must be disabled (set to null) when migrating to client_authentication_methods."

Additional context

No response

auth0-java version

2.10.1

Java version

17.0.9 (Amazon Corretto)

ina-schaal avatar May 06 '24 08:05 ina-schaal