diff options
| author | Tom Christie | 2015-02-06 14:35:06 +0000 | 
|---|---|---|
| committer | Tom Christie | 2015-02-06 14:35:06 +0000 | 
| commit | 3dff9a4fe2952cf632ca7f4cd9ecf4221059ca91 (patch) | |
| tree | 0649d42b20b875e97cb551b987644b61e7860e84 /rest_framework/authentication.py | |
| parent | c06a82d0531f4cb290baacee196829c770913eaa (diff) | |
| parent | 1f996128458570a909d13f15c3d739fb12111984 (diff) | |
| download | django-rest-framework-model-serializer-caching.tar.bz2 | |
Resolve merge conflictmodel-serializer-caching
Diffstat (limited to 'rest_framework/authentication.py')
| -rw-r--r-- | rest_framework/authentication.py | 24 | 
1 files changed, 15 insertions, 9 deletions
| diff --git a/rest_framework/authentication.py b/rest_framework/authentication.py index 124ef68a..a75cd30c 100644 --- a/rest_framework/authentication.py +++ b/rest_framework/authentication.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals  import base64  from django.contrib.auth import authenticate  from django.middleware.csrf import CsrfViewMiddleware +from django.utils.translation import ugettext_lazy as _  from rest_framework import exceptions, HTTP_HEADER_ENCODING  from rest_framework.authtoken.models import Token @@ -65,16 +66,16 @@ class BasicAuthentication(BaseAuthentication):              return None          if len(auth) == 1: -            msg = 'Invalid basic header. No credentials provided.' +            msg = _('Invalid basic header. No credentials provided.')              raise exceptions.AuthenticationFailed(msg)          elif len(auth) > 2: -            msg = 'Invalid basic header. Credentials string should not contain spaces.' +            msg = _('Invalid basic header. Credentials string should not contain spaces.')              raise exceptions.AuthenticationFailed(msg)          try:              auth_parts = base64.b64decode(auth[1]).decode(HTTP_HEADER_ENCODING).partition(':')          except (TypeError, UnicodeDecodeError): -            msg = 'Invalid basic header. Credentials not correctly base64 encoded' +            msg = _('Invalid basic header. Credentials not correctly base64 encoded.')              raise exceptions.AuthenticationFailed(msg)          userid, password = auth_parts[0], auth_parts[2] @@ -85,8 +86,13 @@ class BasicAuthentication(BaseAuthentication):          Authenticate the userid and password against username and password.          """          user = authenticate(username=userid, password=password) -        if user is None or not user.is_active: -            raise exceptions.AuthenticationFailed('Invalid username/password') + +        if user is None: +            raise exceptions.AuthenticationFailed(_('Invalid username/password.')) + +        if not user.is_active: +            raise exceptions.AuthenticationFailed(_('User inactive or deleted.')) +          return (user, None)      def authenticate_header(self, request): @@ -152,10 +158,10 @@ class TokenAuthentication(BaseAuthentication):              return None          if len(auth) == 1: -            msg = 'Invalid token header. No credentials provided.' +            msg = _('Invalid token header. No credentials provided.')              raise exceptions.AuthenticationFailed(msg)          elif len(auth) > 2: -            msg = 'Invalid token header. Token string should not contain spaces.' +            msg = _('Invalid token header. Token string should not contain spaces.')              raise exceptions.AuthenticationFailed(msg)          return self.authenticate_credentials(auth[1]) @@ -164,10 +170,10 @@ class TokenAuthentication(BaseAuthentication):          try:              token = self.model.objects.get(key=key)          except self.model.DoesNotExist: -            raise exceptions.AuthenticationFailed('Invalid token') +            raise exceptions.AuthenticationFailed(_('Invalid token.'))          if not token.user.is_active: -            raise exceptions.AuthenticationFailed('User inactive or deleted') +            raise exceptions.AuthenticationFailed(_('User inactive or deleted.'))          return (token.user, token) | 
