React & Express - 用户授权失效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React & Express - 用户授权失效相关的知识,希望对你有一定的参考价值。
对于我正在做的一个网络应用,我正试图创建登录功能。
在我的数据库中,我存储了一个用户,如果使用的是他们的凭证,我想显示 "已登录",如果使用的是其他凭证,则显示 "未登录"。
这是我的React组件。
export default class Account extends React.Component {
constructor() {
super();
this.state = {
isLoggedIn: false,
};
this.login = this.login.bind(this);
}
componentWillMount() {
this.login();
}
login () {
const cookies = new Cookies();
const user = cookies.get('user');
const pass = cookies.get('pass');
fetch(`http://localhost:3001/user/login/${user}/${pass}`)
.then(res => res.json())
.then(json => {
if(json.success) {
this.setState ({
isLoggedIn: true
})
}
})
}
render() {
if(this.state.isLoggedIn) {
return (<p> True</p>);
}
else {
return (<p> False</p>);
}
}
}
这是我的快递组件
/**
* POST /user/login -> Log in
*/
router.post('/login/:user/:pass', (req, res) => {
return User
.findOne({username: req.param('user')})
.then (user => user.authenticate(req.param('pass')))
.then (auth => {
if (auth.user !== false) {
req.session.user = auth.user.id
}
res.json({success: auth.user !== false})
})
.catch(() => res
.status(500)
.json({success: false})
);
});
module.exports = router;
结果是 isLoggedIn
无论怎样都是假的。
以上是关于React & Express - 用户授权失效的主要内容,如果未能解决你的问题,请参考以下文章
在 React 和 NodeJS 中未经授权重定向之前刷新令牌
Express & React - 如何将我的 var 从一个 .js 转移到另一个