Встречается на собеседованиях • сегодня

Приходилось ли тебе делать Middleware для аутентификации по Socket

Да, приходилось. Middleware для аутентификации по сокетам (например, WebSocket) обычно проверяет токен или другие учётные данные при установке соединения.

Пример для FastAPI с WebSocket:

python
from fastapi import WebSocket, WebSocketDisconnect
from fastapi.security import OAuth2PasswordBearer

oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

async def websocket_auth(websocket: WebSocket):
token = await websocket.receive_text()
if not verify_token(token): # ваша функция проверки токена
await websocket.close(code=1008) # закрываем соединение при ошибке
raise WebSocketDisconnect()
return token

@router.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
try:
token = await websocket_auth(websocket)
# дальнейшая логика работы с сокетом
except WebSocketDisconnect:
return

text

**Нюансы:**  
- Токен обычно передаётся в первом сообщении или query-параметрах URL.  
- Нужно корректно закрывать соединение при ошибках (коды 1008, 4000+).  
- Для масштабирования можно использовать Redis Pub/Sub или аналоги.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы