Как перенаправить на веб-сокет другого сервера?
В настоящее время я создаю сервер чата, используя 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 веб-сокета. Я не знаю, правильно ли это