后端返回token完整代码案例
时间: 2023-07-27 12:26:39 浏览: 194
好的,以下是一个后端返回token的完整代码案例,使用Node.js和Express框架:
```javascript
const express = require('express');
const jwt = require('jsonwebtoken');
const app = express();
const port = 3000;
const secretKey = 'my_secret_key';
// 登录接口
app.post('/login', (req, res) => {
const { username, password } = req.body;
// 验证用户名和密码是否匹配
if (username === 'admin' && password === '123456') {
// 生成token
const token = jwt.sign({ username }, secretKey, { expiresIn: '1h' });
// 将token存储在数据库中
// 返回token给前端
res.json({ token });
} else {
res.status(401).json({ message: 'Invalid username or password' });
}
});
// 需要进行身份验证的接口
app.get('/protected', (req, res) => {
const token = req.headers.authorization.split(' ')[1];
// 验证token
jwt.verify(token, secretKey, (err, decoded) => {
if (err) {
res.status(401).json({ message: 'Invalid token' });
} else {
res.json({ message: 'Hello, ' + decoded.username });
}
});
});
app.listen(port, () => {
console.log(`Server listening at http://localhost:${port}`);
});
```
在上面的代码中,我们使用了jsonwebtoken库来生成和验证token。在登录接口中,如果用户名和密码匹配,就生成一个token并返回给前端。在需要进行身份验证的接口中,我们从请求头部的Authorization字段中提取出token,并验证其合法性。如果token验证通过,就返回一条欢迎消息给前端。
阅读全文