Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions auth0/v3/authentication/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,19 +74,19 @@ def __init__(self, status_code, content, headers):
self._headers = headers

def content(self):
if self._is_error():
if self._status_code == 429:
reset_at = int(self._headers.get('x-ratelimit-reset', '-1'))
raise RateLimitError(error_code=self._error_code(),
message=self._error_message(),
reset_at=reset_at)

raise Auth0Error(status_code=self._status_code,
error_code=self._error_code(),
message=self._error_message())
else:
if not self._is_error():
return self._content

if self._status_code == 429:
reset_at = int(self._headers.get('x-ratelimit-reset', '-1'))
raise RateLimitError(error_code=self._error_code(),
message=self._error_message(),
reset_at=reset_at)

raise Auth0Error(status_code=self._status_code,
error_code=self._error_code(),
message=self._error_message())

def _is_error(self):
return self._status_code is None or self._status_code >= 400

Expand Down
6 changes: 4 additions & 2 deletions auth0/v3/authentication/token_verifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -271,11 +271,13 @@ def _verify_payload(self, payload, nonce=None, max_age=None, organization=None):
raise TokenValidationError('Subject (sub) claim must be a string present in the ID token')

# Audience
if 'aud' not in payload or not (isinstance(payload['aud'], (str, ustr)) or isinstance(payload['aud'], list)):
if 'aud' not in payload or not isinstance(
payload['aud'], (str, ustr, list)
):
raise TokenValidationError(
'Audience (aud) claim must be a string or array of strings present in the ID token')

if isinstance(payload['aud'], list) and not self.aud in payload['aud']:
if isinstance(payload['aud'], list) and self.aud not in payload['aud']:
payload_audiences = ", ".join(payload['aud'])
raise TokenValidationError(
'Audience (aud) claim mismatch in the ID token; expected "{}" but was '
Expand Down
15 changes: 3 additions & 12 deletions auth0/v3/management/organizations.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,10 +143,7 @@ def all_organization_connections(self, id, page=None, per_page=None):

See: https://auth0.com/docs/api/management/v2#!/Organizations/get_enabled_connections
"""
params = {}
params['page'] = page
params['per_page'] = per_page

params = {'page': page, 'per_page': per_page}
return self.client.get(self._url(id, 'enabled_connections'), params=params)

def get_organization_connection(self, id, connection_id):
Expand Down Expand Up @@ -282,10 +279,7 @@ def all_organization_member_roles(self, id, user_id, page=None, per_page=None):

See: https://auth0.com/docs/api/management/v2#!/Organizations/get_organization_member_roles
"""
params = {}
params['page'] = page
params['per_page'] = per_page

params = {'page': page, 'per_page': per_page}
return self.client.get(self._url(id, 'members', user_id, 'roles'), params=params)

def create_organization_member_roles(self, id, user_id, body):
Expand Down Expand Up @@ -334,10 +328,7 @@ def all_organization_invitations(self, id, page=None, per_page=None):

See: https://auth0.com/docs/api/management/v2#!/Organizations/get_invitations
"""
params = {}
params['page'] = page
params['per_page'] = per_page

params = {'page': page, 'per_page': per_page}
return self.client.get(self._url(id, 'invitations'), params=params)

def get_organization_invitation(self, id, invitaton_id):
Expand Down
3 changes: 1 addition & 2 deletions auth0/v3/management/users_by_email.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ def __init__(self, domain, token, telemetry=True, timeout=5.0, protocol="https",
self.client = RestClient(jwt=token, telemetry=telemetry, timeout=timeout, options=rest_options)

def _url(self):
url = '{}://{}/api/v2/users-by-email'.format(self.protocol, self.domain)
return url
return '{}://{}/api/v2/users-by-email'.format(self.protocol, self.domain)

def search_users_by_email(self, email, fields=None, include_fields=True):
"""List or search users.
Expand Down