Как вы аутентифицируете соединение веб-сокета с аутентификацией токена Knox на каналах django? - PullRequest
0 голосов
/ 19 июня 2019

Я понимаю, что вы можете написать собственное промежуточное ПО аутентификации для использования в каналах django 2. Это прекрасно работает со встроенной аутентификацией токенов Django, но использование токенов django-rest-knox - это отдельная история. Knox хранит свои токены в зашифрованном виде, так что это не так просто, как просто извлечь пользователя из базы данных путем поиска токена. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 19 июня 2019

Разобрался!

from knox.auth import TokenAuthentication
...
knoxAuth = TokenAuthentication();
user, auth_token = knoxAuth.authenticate_credentials(tokenString.encode(HTTP_HEADER_ENCODING))
scope['user'] = user

Интегрируйте приведенный выше код с: https://gist.github.com/rluts/22e05ed8f53f97bdd02eafdf38f3d60a

...