我已经使用NextJS和ReactJS实现了服务器端渲染应用程序。
当用户登录到应用程序时,我想存储一些用户详细信息,例如访问令牌,刷新令牌,电子邮件地址,并在整个应用程序中使用它。 (有点像在客户端渲染应用程序上使用本地存储的方式那样全局存储)
我不使用REDUX,所以我想知道在不使用REDUX的情况下存储这些用户详细信息的最佳方法。
在使用SSR时实现此目的有哪些不同的方法?
答案 0 :(得分:0)
我建议使用会话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进行提供),并使用http-only
防止JS客户端/浏览器访问。
使用express-session时,使用cookie /会话会更方便。
static async getInitialProps ({req}) {
console.log(req.session) // with express session
}