auth0 / auth0-java

Java client library for the Auth0 platform
https://auth0.com
MIT License
289 stars 131 forks source link

Unable to set token_endpoint_auth_method to null #642

Closed ina-schaal closed 3 weeks ago

ina-schaal commented 5 months ago

Checklist

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)

tanya732 commented 3 weeks ago

Hi @ina-schaal

Thank you for bringing this issue to our attention.

I would request you to look at the work around for similar issue - github. It might help you.

tanya732 commented 3 weeks ago

Hence, closing this ticket.

Thank you