如何用Mockoon实现简易注册登录:JSON存储与JWT生成
用Mockoon实现简易注册与登录功能(JSON存储+JWT返回)
完全可以实现,下面是具体的配置步骤:
一、注册功能实现(存储邮箱密码到JSON文件)
- 创建注册端点:在Mockoon里新建一个POST请求端点,路径设为
/api/register。 - 配置请求体:在「Request body」标签里选择JSON格式,要求客户端提交
email和password两个字段。 - 编写响应逻辑:切换到「Response」标签,使用Mockoon的内置模板语法处理数据存储:
- 先读取现有用户数据文件(如果文件不存在则初始化空数组):
{{const users = JSON.parse(fileRead('./users.json') || '[]')}} - 检查邮箱是否已注册:
{{const isRegistered = users.some(user => user.email === body.email)}} - 根据检查结果返回不同响应:
- 如果邮箱已存在,设置响应状态码为400,响应体:
{"message": "邮箱已注册"} - 如果未注册,将新用户数据加入数组并写入文件:
然后设置状态码为201,响应体:{{users.push({email: body.email, password: body.password})}} {{fileWrite('./users.json', JSON.stringify(users, null, 2))}}{"message": "注册成功"}
- 如果邮箱已存在,设置响应状态码为400,响应体:
- 先读取现有用户数据文件(如果文件不存在则初始化空数组):
注意:提前在Mockoon项目目录下创建
users.json文件,初始内容写[],避免首次写入出错。
二、登录功能实现(匹配凭据后返回随机JWT)
- 创建登录端点:新建POST请求端点,路径设为
/api/login。 - 配置请求体:同样要求JSON格式,包含
email和password字段。 - 编写响应逻辑:在「Response」标签里处理验证和JWT生成:
- 读取用户数据文件:
{{const users = JSON.parse(fileRead('./users.json') || '[]')}} - 查找匹配的用户:
{{const matchedUser = users.find(user => user.email === body.email && user.password === body.password)}} - 根据匹配结果返回响应:
- 如果找不到匹配用户,设置状态码为401,响应体:
{"message": "邮箱或密码错误"} - 如果匹配成功,生成JWT并返回:
响应体设置为:{{const token = jwtSign({sub: matchedUser.email}, 'your-custom-secret-key', {expiresIn: '1h'})}}{"token": "{{token}}"},状态码保持200。
- 如果找不到匹配用户,设置状态码为401,响应体:
- 读取用户数据文件:
提示:
your-custom-secret-key可以替换成你自己的密钥,expiresIn可以调整token有效期,比如7d表示7天。
内容的提问来源于stack exchange,提问作者Nikon George
相关产品推荐
相关产品推荐

