auth0 / auth0-python

Auth0 SDK for Python
https://auth0-python.readthedocs.io
MIT License
515 stars 167 forks source link

Fix asyncify for users client where token is not required #506

Closed cgearing closed 1 year ago

cgearing commented 1 year ago

Changes

This PR fixes a bug that is currently in the Auth0 SDK asyncify wrapper where it falls through to the AsyncManagementClient when the class being wrapped doesn't inherit from the AuthenticationBase class. This doesn't work for the Users client, as that shouldn't require a management token.

Currently, using the Users client with the async wrapper fails with the following error:

TypeError: asyncify.<locals>.AsyncManagementClient.__init__() missing 1 required positional argument: 'token'

The approach I took was to implement a new BareAsyncClient for this case, however I'm not 100% wedded to this approach so feel free to tell me to have another go!

Testing

I've added a test for this functionality to check that we don't need to add the token when calling the Users client when wrapped in an async context.

Checklist