Next.js токен доступа SSR к хранилищу без использования приставки - PullRequest
0 голосов
/ 26 октября 2018

Я реализовал приложение для рендеринга на стороне сервера, используя NextJS и ReactJS.

Когда пользователь входит в приложение, я хочу сохранить некоторые данные пользователя, такие как токен доступа, обновить токен, адрес электронной почты и использовать его в приложении. (Вид хранения в глобальном масштабе, например, как мы используем локальное хранилище в клиентских приложениях рендеринга)

Я не использую REDUX, поэтому я хотел бы знать, как лучше всего хранить эти данные пользователя без использования REDUX.

Как можно достичь этого при работе с SSR?

1 Ответ

0 голосов
/ 26 октября 2018

Я бы рекомендовал использовать сессионный cookie.Это доступно в методе next.js getInitialProps.

static async getInitialProps ({req}) {
  console.log(req.headers.cookies) // depending on your server middlewares / config, this is available
}

LocalStorage или SessionStorage недоступны в SSR, в то время как файлы cookie всегда прикрепляются к запросу.Кроме того, я бы рекомендовал сделать файл cookie secure (обслуживается только через https) и защитить от доступа клиента / браузера JS с помощью http-only.

При использовании express-session с использованием файлов cookie/ сессий становится более удобным.

static async getInitialProps ({req}) {
  console.log(req.session) // with express session
}
...