summaryrefslogtreecommitdiff
path: root/oauthlib/oauth2/rfc6749/endpoints/base.py
diff options
context:
space:
mode:
authorOmer Katz <omer.drow@gmail.com>2018-12-17 15:16:44 +0200
committerOmer Katz <omer.drow@gmail.com>2018-12-17 15:16:44 +0200
commitcfd6af0168c27e74eb8fd300d42b3145cdea8a78 (patch)
tree989368b14a015c75c37eade874cb53dcc877cdf7 /oauthlib/oauth2/rfc6749/endpoints/base.py
parent06912287b170aa7255b7120403943ba9e99e649e (diff)
downloadoauthlib-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.py12
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):