Я бы хотел отменить предыдущий токен каждый раз, когда пользователь входит в систему. Это означало бы создание нового токена (или, по крайней мере, изменение ключа существующей модели). Все это звучит просто, но в документах DRF я не вижу упоминания об этом сценарии. Документы, похоже, предполагают, что токен всегда остается неизменным. Это просто случай, или я чего-то не хватает? Мой вопрос: что-то не так с изменением токена каждый раз, когда пользователь входит в систему?Изменить токен для TokenAuthentication каждый раз, когда пользователь регистрируется в
ответ
TokenAuthentication
, предоставленный Django REST Framework, предназначен для использования в простых случаях, когда токен не нуждается в изменении, и для пользователя существует только один токен.
Документы, похоже, предполагают, что токен всегда остается неизменным.
Это правильно. Все, что необходимо, должно быть реализовано независимо.
Я хотел бы, чтобы отменить ПРИОР лексема каждый раз, когда пользователь входит в систему.
Вы можете сделать это в целях аутентификации путем удаления каких-либо маркеров для пользователя, вошедшего в систему.
from rest_framework.authtoken.models import Token
Token.objects.filter(user=the_user).delete()
Если вы используете представления, предоставленные для аутентификации токенов, вам необходимо будет subclass them, чтобы всегда получать новый токен для пользователя.
class ObtainAuthToken(APIView):
throttle_classes =()
permission_classes =()
parser_classes = (parsers.FormParser, parsers.MultiPartParser, parsers.JSONParser,)
renderer_classes = (renderers.JSONRenderer,)
def post(self, request):
serializer = AuthTokenSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
user = serializer.validated_data['user']
Token.objects.filter(user=the_user).delete()
token, created = Token.objects.create(user=user)
return Response({'token': token.key})
Это всегда будет аннулировать предыдущий ключ и сгенерировать новый ключ.
- 1. Обнаруживать, когда пользователь регистрируется в
- 2. принудительно регистрируется каждый раз, когда запрос отправляется на iOS
- 3. TweetSharp работает, но требует проверки подлинности приложения каждый раз, когда пользователь регистрируется в
- 4. MySQL + PHP - лучший способ хранить временную метку каждый раз, когда пользователь регистрируется в
- 5. Вставьте данные, когда пользователь регистрируется
- 6. установить переменную session_id, когда пользователь регистрируется в
- 7. Добавить точку, когда пользователь регистрируется в
- 8. Переключение класса CSS каждый раз, когда пользователь нажимает - JQuery
- 9. Когда пользователь регистрируется, переменные сеанса не сохраняются
- 10. Хранить «время» в firebase каждый раз, когда пользователь нажимает кнопку
- 11. Как сделать каталог, когда пользователь регистрируется (PHP)
- 12. X-CSRF-токен в ионном. Каждый раз, когда принимается другой токен
- 13. Должен ли пользователь разрешать каждый раз, когда мне нужен токен доступа?
- 14. Firebase отправить токен код, когда приложение открыто каждый раз
- 15. Оставайтесь на панели управления, когда пользователь регистрируется
- 16. Пользователь Dotnetnuke не регистрируется
- 17. Лак: очищать кеш каждый раз, когда пользователь нажимает кнопку «как»
- 18. Typeahead каждый раз, когда пользователь записывает определенное слово
- 19. Как создать сеанс каждый раз, когда пользователь использует мой webapp?
- 20. Обработка процесса в цикле не регистрируется каждый раз
- 21. Как подсчитать количество раз, когда каждый пользователь что-то сделал?
- 22. Выполнение подписки каждый раз, когда пользователь меняет роли
- 23. Как вызвать функцию javascript каждый раз, когда пользователь прокручивает
- 24. Listfragment Каждый раз, когда
- 25. Как вызвать скрипт каждый раз, когда пользователь входит в систему (или всякий раз, когда сеанс активен)
- 26. перенаправить на страницу «Моя учетная запись», когда пользователь регистрируется в первый раз
- 27. Обеспечить новый сеанс каждый раз, когда пользователь подключается к Servlet
- 28. Выполнять скрипт оболочки каждый раз, когда создается новый пользователь
- 29. Деградация качества изображения jpg каждый раз, когда пользователь посещает страницу?
- 30. Запись TimeStamp каждый раз, когда пользователь использует приложение
Большое спасибо @ kevin-brown. Отличный, ясный и тщательный ответ. – jacob