1. посетитель обращается, у него нету куки
2. сервер видит что куки нет, создаёт md5(time().rand(1,1000).'sold-123123') - токен, отправляет его посетителю в куки и сохраняет сессию в таблицу в бд
поля таблицы: token, users_id, timestamp
3. пользователь вводит логин и пароль, делает запрос к бекенду. бек видит что токен у клиента есть, проверяет в таблице есть ли такая сессия, если есть и логин и пароль верные, записывает в таблице в поле users_id соответствующее значение для этого токена и отвечает пользователю мутациями связанными с его авторизацией
4. пользователь обновляет страницу, т.к. бек принимает его токен сессии, бек видит что в таблице есть id юзера, значит посетитель авторизован и мы знаем какой у него пользователь
мутации связанные с отображением параметров пользователя делаются в nuxt-е на сервере и регидрируются у клиента за счёт SSR