用node写实现用户登录的接口代码,其中包括了以下功能:1、 接受用户输入的用户名和密码;2、对比输入的用户名和密码与系统中存储的用户名和密码是否匹配;3、如果匹配成功,生成一个 token 并返回给前端,否则返回错误提示信息
时间: 2024-03-26 18:38:32 浏览: 9
好的,以下是一个使用 Node.js 实现用户登录的接口代码,其中包括了以下功能:1、接受用户输入的用户名和密码;2、对比输入的用户名和密码与系统中存储的用户名和密码是否匹配;3、如果匹配成功,生成一个 token 并返回给前端,否则返回错误提示信息。
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const jwt = require('jsonwebtoken');
const app = express();
app.use(bodyParser.json());
// 模拟存储的用户名和密码
const users = [
{
username: 'admin',
password: '123456'
},
{
username: 'user',
password: '654321'
}
];
// 登录接口
app.post('/api/login', (req, res) => {
const { username, password } = req.body;
// 在存储的用户名和密码中查找匹配项
const user = users.find(user => user.username === username && user.password === password);
if (user) {
// 生成 token,有效期为 1 小时
const token = jwt.sign({ username }, 'secret', { expiresIn: '1h' });
// 返回成功响应,包含生成的 token
res.status(200).json({ token });
} else {
// 返回错误响应
res.status(401).json({ error: 'Invalid username or password' });
}
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
```
这个代码中,我们使用了 Express.js 框架来处理 HTTP 请求和响应,使用了 body-parser 中间件来解析 JSON 请求体,使用了 jsonwebtoken 模块来生成和验证 token。
在登录接口中,我们首先从请求体中获取用户名和密码,然后在存储的用户名和密码中查找匹配项。如果匹配成功,我们使用 jsonwebtoken 模块生成一个 token,并将其作为响应返回给前端。如果匹配失败,则返回一个包含错误提示信息的响应。