666260
若别人没有我的用户名、密码,那我的账号自然安全,用不用token都安全。 若别人有了我的用户名、密码,用了token也还是一样,别人还是能登录,用不用token都不安全。 总结:从上面两点来看,账号的安全与token没什么关系,关键是用户名、密码是否被窃取。 所以我认为token不是没必要么。下面有我使用token的方法,不知对不对。
使用token步骤: 1.判断用户名密码是否正确 2.若正确则生成token发送到客户端。生成token如下: const secret = 'aaa'; //撒盐:加密的时候混淆 user.token = jwt.sign(user.toJSON(), secret, { expiresIn: 60 * 60 * 5 //5小时到期时间 }); //process.env.JWT_SECRET 3.客户端保存token到cookie里面,客户端需要访问授权页面时,把token加到ajax的headers里面。 4.根据客户端传来的token进行解码,如下: jwt.verify(bearerToken, 'aaa', function (err, decoded) { if (!err) { console.log('decoded=' + decoded.username +';;'+decoded.password); //如果超时,则有错误。 req.body.username = decoded.username; req.body.password = decoded.password; } })