You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Mockoon实现简易注册登录:JSON存储与JWT生成

用Mockoon实现简易注册与登录功能(JSON存储+JWT返回)

完全可以实现,下面是具体的配置步骤:

一、注册功能实现(存储邮箱密码到JSON文件)

  1. 创建注册端点:在Mockoon里新建一个POST请求端点,路径设为/api/register。
  2. 配置请求体:在「Request body」标签里选择JSON格式,要求客户端提交email和password两个字段。
  3. 编写响应逻辑:切换到「Response」标签,使用Mockoon的内置模板语法处理数据存储:
    • 先读取现有用户数据文件(如果文件不存在则初始化空数组):
      {{const users = JSON.parse(fileRead('./users.json') || '[]')}}
      
    • 检查邮箱是否已注册:
      {{const isRegistered = users.some(user => user.email === body.email)}}
      
    • 根据检查结果返回不同响应:
      • 如果邮箱已存在,设置响应状态码为400,响应体:{"message": "邮箱已注册"}
      • 如果未注册,将新用户数据加入数组并写入文件:
        {{users.push({email: body.email, password: body.password})}}
        {{fileWrite('./users.json', JSON.stringify(users, null, 2))}}
        
        然后设置状态码为201,响应体:{"message": "注册成功"}

注意:提前在Mockoon项目目录下创建users.json文件,初始内容写[],避免首次写入出错。

二、登录功能实现(匹配凭据后返回随机JWT)

  1. 创建登录端点:新建POST请求端点,路径设为/api/login。
  2. 配置请求体:同样要求JSON格式,包含email和password字段。
  3. 编写响应逻辑:在「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。

提示:your-custom-secret-key可以替换成你自己的密钥,expiresIn可以调整token有效期,比如7d表示7天。

内容的提问来源于stack exchange,提问作者Nikon George

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 19:50:13