HttpOnly cookie в NextJS + Redux + Django API для хранения JWT
Я использую NextJS во фронтенде, Django API в бэкенде вместе с DRF и JWT для аутентификации и redux для управления состоянием.
Почти все мои маршруты требуют аутентификации.
Я могу хранить токены и получать к ним доступ в куках только по http через NextJS routes API, но поскольку я использую и Redux, все мои запросы проходят следующим образом;
запрос пользователя -> действие redux -> маршрут nextjs -> backend
Нормально ли это? Я должен реализовать nextjs route для каждого маршрута, чтобы получить доступ к http-only cookie и отправить его на конечную точку бэкенда, так как маршрут требует аутентификации. Это утомительно для реализации и поддержки, у меня сотни маршрутов.
Есть ли другой способ добиться этого эффективно?
У меня была такая же проблема с front-end, Есть несколько способов сделать это, Я обрабатываю это на стороне back-end, у меня есть маршруты для obtain token
и refresh token
, когда запрос приходит на obtain token
, я устанавливаю токен на HTTP Only Cookie
, то же самое для refresh token
, но таким образом вы не сможете использовать ваш бэкэнд на других источниках, кроме web, это свяжет ваш бэкэнд с web, другой способ - написать свой собственный API на NextJs
, который будет запрашивать маршрут obtain token
в бэкэнде, затем хранить его на стороне NextJs
, и каждый раз, когда вам нужен токен, вызывать ваш NextJs
API.
Таким образом вы разделите front-end и back-end.