Помогите разобраться с проверкой на логин
Сейчас я делаю проверку пользователя на логин, чтобы нельзя было отправлять запросы по wss незалогиненым пользователям (бэкенд для приложения на unity). Пример брал отсюда: https://github.com/Crandel/aiohttp. Есть отличие: у меня во views.py используются функции без классов. Пример:
#Вход пользователя
async def websocket_login(request):
ws = web.WebSocketResponse()
await ws.prepare(request)
session = await get_session(request)
async for msg in ws:
if not session.get('user'):
data = json.loads(msg.data)
response = UserServices().check(data) #Проверка данных пользователя
set_session(session, str(response['data']['id']), request)
await ws.send_json(response) #Отправка ответа
Как видите, я уже пытался добавлять id пользователя в сессию, но проблема в том, что сессия строится на основе запроса, а запросы везде разные:
app.router.add_routes([
web.get('/api/registration/', websocket_registration),
web.get('/api/login/', websocket_login),
web.get('/api/item/', websocket_item),
web.get('/api/echo/', websocket_echo),
web.get('/api/message/', websocket_message),
web.get('/api/state/', websocket_state),
web.get('/api/calendar/', websocket_calendar),
web.get('/api/event/', websocket_event),
web.get('/api/cafe/notify/', websocket_cafe_notify),
web.get('/api/user/', websocket_user),
])
Я уже долго с этим мучаюсь, поэтому решил написать сюда (пишу первый раз, надеюсь проблему описал понятно). Заранее спасибо <З