После входа в систему API возвращает токен JWT, который я кодирую в формате base64, и сохраняю его в файле Cook ie. И всякий раз, когда я делаю запрос к API, который требует аутентификации, мне нужно читать токен от cook ie. Я использую getInitialProps
метод. Проблема в том, что процесс чтения cook ie и его декодирования из base64 - требует различных функций / библиотек в зависимости от того, серверная ли это или клиентская. Например, когда я захожу на эту страницу через следующий маршрутизатор, getInitialProps
выполняется на стороне клиента, и я использую такие функции, как atob
или js-cookie
library. С другой стороны, когда я захожу на страницу напрямую, getInitialProps
запускается на стороне сервера, и мне нужно получить токен JWT иначе, чем при использовании библиотеки next-cookies
или atob
(которая эмулирует функцию браузера atob) и сохранить ее на ctx.req.authToken
. И каждый раз проверять, запускает ли getInitialProps
клиент или сервер, немного громоздко. Есть ли решение, чтобы объединить это? Какие-нибудь хорошие практики на этом топи c? Чтение повара ie является лишь примером, может быть даже больше различий.