Como autenticar um usuário na conexão websocket nos canais django ao usar autenticação de token

Estou usando uma estrutura de front-end (Vuejs) edjango-rest-framework para a API REST no meu projeto. Além disso, para autenticação de token da Web JSON, estou usandodjango-rest-framework-jwt. Após um login bem-sucedido, o usuário recebe um token. Esse token é passado para todas as solicitações para buscar qualquer material relacionado à API.

Agora eu gostaria de integrarcanais de django no meu projeto. Portanto, após o login bem-sucedido, quando o token é recebido no lado do cliente, eu gostaria de iniciar uma conexão com o websocket. Em seguida, no servidor (consumidor), gostaria de verificar se o usuário solicitado não é anônimo. Se o usuário solicitado for anônimo, eu gostaria de fechar a conexão ou aceitá-la.

É assim que eu tenho até agora:

lado do cliente:

const socket = new WebSocket("ws://" + "dev.site.com"+ "/chat/");

routing.py:

channel_routing = [
    route("websocket.connect", ws_connect),
    ...
    ...
]

consumidores:

def ws_connect(message):

    # if the user is no anonymous
    message.reply_channel.send({
        "accept": True
    })

    # else
    message.reply_channel.send({
        "close": True
    })

Nodocumentação tem um decorador@channel_session_user_from_http que fornecerá umamessage.user. Mas estou usando um token em vez de uma sessão. Como posso verificar um usuário na conexão ao usar a autenticação de token, para que eu possa aceitar ou fechar a conexão. Ou, se houver uma maneira melhor, você poderia me aconselhar com isso. Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion