待办事项API

一个受Auth0保护的示例API,用于展示MCP服务器如何代表用户调用受保护的API。

  • by sanG-github
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 sang-github/auth0-mcp-server

使用说明

所有API

这是一个受Auth0保护的示例API。它在远程MCP演示中用于展示如何使用MCP服务器代表用户调用受保护的API的功能。

注意:对于这个演示,我们正在将API部署到Cloudflare,它可以部署在任何地方。

Auth0配置

在Auth0仪表板中,在API部分创建一个新的API。

创建API后,启用“脱机访问”,这样我们就可以获得刷新令牌。

注意:如果您想强制用户同意范围,可以关闭“允许跳过用户同意”。

最后添加以下API权限:

  • read:todos
  • read:billing

就是这样!您现在可以配置本地环境或将API部署到Cloudflare。

发展

创建一个 .dev.vars 项目根目录中的文件具有以下结构:

AUTH0_DOMAIN=yourtenant.us.auth0.com
AUTH0_AUDIENCE=urn:todos-api

这 AUTH0_DOMAIN 是Auth0租户的域。这 AUTH0_AUDIENCE 是您在Auth0租户中创建的API的受众(例如: urn:todos-api).

测试API

要测试API,可以使用以下命令:

npm run dev

这将启动worker,您可以向其发出请求。在Auth0仪表板中有一个 测试 API中的选项卡,您可以在其中获取 access_token 以调用API。使用此项按如下方式调用API:

curl --request GET \
  --url http://localhost:8788/api/me \
  --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6Im...'

如果此调用成功,您应该在响应中看到JWT令牌的声明。

部署API

要将API部署到Cloudflare,您首先需要设置以下秘密:

wrangler secret put AUTH0_DOMAIN
wrangler secret put AUTH0_AUDIENCE

设置机密后,您可以使用以下命令部署API:

npm run deploy