JWT认证服务

基于MidwayJS的JWT认证服务,用于处理非标数据转换和认证流程。

  • by lu9944
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 lu9944/midway-mcp-test-auth

使用说明

midway-mcp-test-auth

问题

  1. 无法触发jwtAuthCustomPayloadTransformer这个函数,用来处理非标数据转换
  2. 我已经确认配置jwt密钥
  3. 我已经确认提交了正确的jwt请求头
  4. 我已经确认:enableJwtAuthHelper 保持开启

运行环境

版本:node 22.17.1 系统:windows 11

  1. 已经按照:https://www.midwayjs.org/docs/next/extensions/mcp 对项目进行配置
  2. 版本采用最新4.0.0.beta.5

创建项目

npm init midway@latest -y

安装依赖

$ npm i @midwayjs/mcp@4 --save
$ npm i @modelcontextprotocol/sdk zod --save

测试工具

这里已经配置了jwt-token,有效期到10月31号

node test/test-tool.js

jwt解密后文本如下

{
  "header": {
    "alg": "HS256",
    "typ": "JWT"
  },
  "payload": {
    "data": [
      {
        "aud": "client-id"
      },
      {
        "scope": "mcp:read mcp:write"
      },
      {
        "exp": "1761235200"
      },
      {
        "resource": "https://api.example.com"
      },
      {
        "sub": "123456-iop"
      },
      {
        "iss": "https://auth.examsssssssple.com"
      }
    ],
    "iat": 1761100996,
    "exp": 1761235199,
    "aud": "asdsad",
    "iss": "aa",
    "sub": "asdsadsa"
  }
}

jwt密钥:

tool-ttasd-sadasdsa-dfgsfg
$ npm start

npm scripts

  • Use npm run lint to check code style.
  • Use npm test to run unit test.