Обработка нескольких профилей для одного пользователя с помощью res.locals

#javascript #node.js #authentication

#javascript #node.js #аутентификация

Вопрос:

Я создаю однопользовательский многопрофильный веб-сайт, такой как Netflix, и после аутентификации пользователя я кодирую user._id (из базы данных) с помощью jwt и отправляю его клиенту, позже для безопасных маршрутов я декодирую токен jwt и нахожу данные пользователя и сохраняю их в res.locals.user ( в requireAuth и optionalAuth ),Я использую это res.locals.user в разных местах, но я также хочу, чтобы используемый профиль сохранялся, res.locals чтобы использовать его в других маршрутах (после requireAuth optionalAuth промежуточного программного обеспечения or).

Сначала я вхожу в систему, выполняю аутентификацию и отправляю токен jwt, но на следующем экране я выбираю профиль, и у меня есть все эксклюзивное для этого профиля, домашняя страница, моя страница, страница поиска других пользователей и т. Д., Но я хочу, Чтобы текущий профиль, который используется, выполнял действия, связанные с этимпользователь, поэтому для этого я попытался сохранить currentProfile res.locals , но я не могу сделать это в самом методе входа.

Мой подход заключается в том, что после того, как пользователь нажимает на определенный профиль, getProfile вызывается метод / маршрут (в серверной части), и я изменяю authToken его, чтобы содержать user.id и profile.id , user.id для проверки подлинности позже и profile.id для помощи мне в других вещах.

Я хочу знать, есть ли лучший способ сделать что-то или есть какие-либо изменения, которые я должен сделать лучше.