Spotify多用户认证服务器

基于Cloudflare Workers的Spotify多用户OAuth认证服务器,支持用户自带Spotify应用凭证进行授权。

  • by Omm2005
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Omm2005/Spotify-MCP

使用说明

Cloudflare Workers上的Spotify MCP服务器(OAuth,多用户)

此服务器现在配置为生产风格的多用户身份验证:

  • MCP客户端通过此Worker上的OAuth端点进行身份验证。
  • 用户使用自己的Spotify应用程序凭据(BYO客户端ID/密码)向Spotify授权。
  • 用户刷新令牌和BYO客户端凭据存储在加密的OAuth props中。

建筑

  • MCP API: /mcp
  • OAuth授权: /authorize
  • OAuth令牌: /token
  • OAuth客户端注册: /register
  • Spotify回拨: /callback

1) 安装

cd /Users/omshah/Desktop/MCP/spotify-mcp-cloudflare
npm install

2) 创建KV命名空间(用于OAuth状态)

npx wrangler kv namespace create OAUTH_KV

将返回的ID复制到 wrangler.jsoc 在:

  • kv_namespaces[0].id

3) 设置工人秘密

npx wrangler secret put COOKIE_ENCRYPTION_KEY
npx wrangler secret put ALLOWED_MCP_CLIENT_IDS

COOKIE_ENCRYPTION_KEY 应该是一个长随机字符串。

ALLOWED_MCP_CLIENT_IDS 可选(逗号分隔)。如果设置,则只有那些MCP OAuth客户端ID可以授权。

可选的回退秘密(仅当您想要默认应用程序而不是严格的BYO时):

npx wrangler secret put SPOTIFY_CLIENT_ID
npx wrangler secret put SPOTIFY_CLIENT_SECRET

4) Spotify应用程序设置

每个用户都应该在Spotify开发者仪表板中创建一个Spotify应用程序,并将重定向URI设置为:

  • 当地: http://localhost:8788/callback
  • 生产: https://<your-worker>.workers.dev/callback

Spotify中的重定向URI必须与您使用的环境完全匹配。

5) 运行本地

npm run dev

6) 部署

npm run deploy

安全须知

  • 此版本删除了原始刷新令牌工具输入。
  • 令牌与经过身份验证的OAuth会话相关联。
  • 保持 COOKIE_ENCRYPTION_KEY 如果被泄露,则进行保密和轮换。
  • 默认情况下,调试身份验证作用域工具处于禁用状态。仅暂时启用 ENABLE_DEBUG_TOOLS=true.