Пользовательская аутентификация Django Rest Framework + возврат пользовательских JSON - PullRequest
0 голосов
/ 27 августа 2018

Я использую django 2.1 и python 3.6 .... Я хочу аутентифицировать пользователей, используя пользовательскую аутентификацию, и возвращать токен вместе с электронной почтой и идентификатором после проверки пользователя.

settinge.py

AUTHENTICATION_BACKENDS = (
    "users.views.authentication_backend.UserAuthenticationBackend",
)

views.py

class UserAuthenticationBackend(object):

    def authenticate(self, request, email=None, password=None):

        validate_email(email)
        valid_email = True
        kwargs = {'email': email}

        try:
            user = get_user_model().objects.get(**kwargs)

        except get_user_model().DoesNotExist:
            raise exceptions.AuthenticationFailed('User does not exist.')

        if valid_email and user.check_password(password) and user.is_valid is True:

            return user

        elif valid_email and user.check_password(password) and user.is_valid is False:
            raise exceptions.AuthenticationFailed('Sorry your account is suspended temporarily,'
               )

        else:
            raise exceptions.AuthenticationFailed('Sorry, your email and password does not match.')

Я хочу вернуть ответ следующим образом:

{'token':"", 'user': {'id': 1, 'email': 'admin@abc.com', 'is_active': True}}

Заранее спасибо ...

1 Ответ

0 голосов
/ 27 августа 2018

Вы можете использовать Проверка подлинности токена или даже Веб-токены JSON (JWT) Это может помочь вам получить токен в ответ TokenAuthentication , JSONWebToken

Это может быть полезно для вашего требования, если вам нужна какая-либо другая дополнительная помощь, пожалуйста, укажите это !!!

...