【发布时间】:2018-11-28 02:52:49
【问题描述】:
我在 Nextjs 项目的身份验证过程中遇到了一些问题。从example 开始,它将令牌存储在cookie 中,但在checkLoggedIn.js 中,它查询数据库而不是从cookie 中获取令牌。
我想从getInitialProps 中的cookie 或localstorage 中获取令牌,但是在getInitialProps 中,它看不到localstorage,因为它仍在服务器端。有没有更好的方法可以在组件渲染之前对用户进行身份验证?
不确定是否可以在 apollo 客户端中从 getToken 获取令牌。
我当前的代码是
class DashBoard extends React.Component {
constructor(props) {
super(props)
}
componentDidMount () {
const decodeToken = verifyToken(localStorage.getItem('KEY'));
if (!decodeToken.mail) {
Router.push('/login');
} else {
this.props.loginSuccess(decodeToken.name, decodeToken.mail);
}
}
render () {
return (<div></div>)
}
}
谢谢
【问题讨论】: