Как перенаправить на веб-сокет другого сервера?

В настоящее время я создаю сервер чата, используя Rust. Я пытался аутентифицировать пользователя с помощью его дайджест-токена, который существовал в существующем postgresql, но это не удалось из-за проблемы с openssl. Поэтому я хотел бы аутентифицировать пользователя через существующий орган аутентификации django, и когда аутентификация будет успешной, я хотел бы перенаправить его на чат-сервер rust, чтобы сделать сервис доступным.

async def redirect(websocket: WebSocket, *args, **kwargs):
    await websocket.accept()
    return Response(status=HTTP_301_MOVED_PERMANENTLY)

Я пробовал перенаправить с django на websocket, но безуспешно.

Как я могу аутентифицироваться в django и получить доступ к серверу rust websocket? Я буду благодарен, если вы сообщите мне, есть ли лучший способ, чем перенаправление. Если я должен перенаправить, я был бы признателен, если бы вы рассказали мне, как перенаправить. Я много гуглил, но ничего не нашел.

from django.http import HttpResponseRedirect

from rest_framework.views import APIView
from rest_framework import permissions


class ClassName(APIView):
    permission_classes = [permissions.IsAuthenticated]

    def get(self, request):
        return HttpResponseRedirect("https://host:port/websocket_url")

Я решил эту проблему с помощью приведенного выше кода. Используя https:// вместо wss://, (Поскольку я использую ssl, я использовал https вместо http.) он был доступен через url веб-сокета. Я не знаю, правильно ли это

Вернуться на верх