diff options
author | Omer Katz <omer.drow@gmail.com> | 2018-12-17 15:16:44 +0200 |
---|---|---|
committer | Omer Katz <omer.drow@gmail.com> | 2018-12-17 15:16:44 +0200 |
commit | cfd6af0168c27e74eb8fd300d42b3145cdea8a78 (patch) | |
tree | 989368b14a015c75c37eade874cb53dcc877cdf7 /oauthlib/oauth2/rfc6749/endpoints/base.py | |
parent | 06912287b170aa7255b7120403943ba9e99e649e (diff) | |
download | oauthlib-cfd6af0168c27e74eb8fd300d42b3145cdea8a78.tar.gz |
Extract raising error on client auth failure.
Diffstat (limited to 'oauthlib/oauth2/rfc6749/endpoints/base.py')
-rw-r--r-- | oauthlib/oauth2/rfc6749/endpoints/base.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/oauthlib/oauth2/rfc6749/endpoints/base.py b/oauthlib/oauth2/rfc6749/endpoints/base.py index 7a121fa..638311d 100644 --- a/oauthlib/oauth2/rfc6749/endpoints/base.py +++ b/oauthlib/oauth2/rfc6749/endpoints/base.py @@ -12,7 +12,8 @@ import functools import logging from ..errors import (FatalClientError, OAuth2Error, ServerError, - TemporarilyUnavailableError, InvalidRequestError) + TemporarilyUnavailableError, InvalidRequestError, + InvalidClientError) log = logging.getLogger(__name__) @@ -44,6 +45,15 @@ class BaseEndpoint(object): if not request.token: raise InvalidRequestError(request=request, description='Missing token parameter.') + def _raise_on_invalid_client(self, request): + """Raise on failed client authentication.""" + if self.request_validator.client_authentication_required(request): + if not self.request_validator.authenticate_client(request): + log.debug('Client authentication failed, %r.', request) + raise InvalidClientError(request=request) + elif not self.request_validator.authenticate_client_id(request.client_id, request): + log.debug('Client authentication failed, %r.', request) + raise InvalidClientError(request=request) def catch_errors_and_unavailability(f): |