auth0 / auth0-python

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

`get_all_organization_members` should support `fields` #534

Closed freyamade closed 10 months ago

freyamade commented 11 months ago

Checklist

Describe the problem you'd like to have solved

The endpoint for fetching all Organization members allows us to pass a fields parameter, specifically to include all member's roles in the response. The python library hides this option, and it would be much more performant to allow us to get all roles attached in one request instead of n^2 requests to fetch all users and then each user's roles in a separate request for each.

Describe the ideal solution

There are two ways it could play out, either by adding a include_roles flag, or by providing access to add more paramters via ** args to this and other functions.

Alternatives and current workarounds

The current way we have to do this is to do the following;

  1. Fetch all users in an organization
  2. Iterate over each user, sending a new request to fetch that user's roles specifically

Alternatively, we have been accessing variables and functions we shouldn't be, running something like;

auth0.organizations.client.get(auth0.organizations._url('<org_id>', "members"), params=dict(fields='user_id,name,email,roles'))

Additional context

No response

adamjmcgrath commented 11 months ago

Thanks for raising this @freyamade - We have some work planned to update the SDKs with this new parameter, should happen in the next couple of weeks

freyamade commented 10 months ago

Thank you so much :pray: