diff options
| author | Ron Cohen | 2014-07-25 10:55:53 +0000 | 
|---|---|---|
| committer | Ron Cohen | 2014-07-25 10:55:53 +0000 | 
| commit | 05882cc5999088ac232788ae62717c061e74ad12 (patch) | |
| tree | 1df938cf26b9d731f181d600f3da9994a4670932 /rest_framework/authentication.py | |
| parent | 299a8347e8ef448eefc611eebfe80d7e142ceaa1 (diff) | |
| download | django-rest-framework-05882cc5999088ac232788ae62717c061e74ad12.tar.bz2 | |
Sending "Bearer" and "Bearer " resulted in a 500.
Diffstat (limited to 'rest_framework/authentication.py')
| -rw-r--r-- | rest_framework/authentication.py | 14 | 
1 files changed, 7 insertions, 7 deletions
| diff --git a/rest_framework/authentication.py b/rest_framework/authentication.py index da9ca510..887ef5d7 100644 --- a/rest_framework/authentication.py +++ b/rest_framework/authentication.py @@ -310,6 +310,13 @@ class OAuth2Authentication(BaseAuthentication):          auth = get_authorization_header(request).split() +        if len(auth) == 1: +            msg = 'Invalid bearer header. No credentials provided.' +            raise exceptions.AuthenticationFailed(msg) +        elif len(auth) > 2: +            msg = 'Invalid bearer header. Token string should not contain spaces.' +            raise exceptions.AuthenticationFailed(msg) +          if auth and auth[0].lower() == b'bearer':              access_token = auth[1]          elif 'access_token' in request.POST: @@ -319,13 +326,6 @@ class OAuth2Authentication(BaseAuthentication):          else:              return None -        if len(auth) == 1: -            msg = 'Invalid bearer header. No credentials provided.' -            raise exceptions.AuthenticationFailed(msg) -        elif len(auth) > 2: -            msg = 'Invalid bearer header. Token string should not contain spaces.' -            raise exceptions.AuthenticationFailed(msg) -          return self.authenticate_credentials(request, access_token)      def authenticate_credentials(self, request, access_token): | 
