⚠️ 存储库弃用通知
此存储库已正式停用并已存档。
WSO2不再积极参与或维护此项目。
- 无新功能 将被添加。
- 没有安全补丁 或者将提供错误修复。
- 问题和拉取请求 已经关闭。
为什么会这样?
此解决方案正在被弃用,以将我们的精力集中在更现代的身份和访问管理(IAM)和MCP(模型上下文协议)实现上。
你该怎么办?
如果您当前正在使用此代理,我们建议:
- 分叉存储库 如果你需要继续开发自己的用例。
- 过渡到WSO2 MCP官方支持: 之前在此代理中探索的功能现在正被集成到WSO2的核心身份产品中。我们建议迁移到这些官方支持的生产用例解决方案:
- WSO2身份服务器: 请参阅 代理AI和MCP指南 用于在您自己的环境中实现基于MCP的身份流。 - 阿斯加德奥: 跟随 端到端MCP授权教程 用于云原生代理IAM实现。
______________________________________________________________________
打开MCP身份验证代理
模型上下文协议(MCP)服务器的轻量级授权代理,根据 MCP授权规范
    
🚀 特性
- 动态授权:基于MCP授权规范。
- JWT验证:验证令牌的签名,检查
audience声明并执行范围要求。 - 身份提供者集成:支持集成任何OAuth/OIDC提供程序,如Asgardeo、Auth0、Keycloak等。
- 协议版本协商:通过
MCP-Protocol-Version头球 - 灵活的运输方式:支持STDIO、SSE和流式HTTP传输选项。
🛠️ 快速开始
先决条件 - 正在运行的MCP服务器(使用 MCP服务器示例 如果您还没有MCP服务器) - 支持MCP授权规范的MCP客户端
- 从下载最新版本 .
- 在演示模式下启动代理(使用Asgardeo沙盒的预配置身份验证):
- Linux/macOS:
./openmcpauthproxy --demo- 窗户:
.\openmcpauthproxy.exe --demo- 使用MCP客户端连接,如 MCP 检查员.
🔒 集成身份提供者
阿斯加德奥
要通过您的Asgardeo组织启用授权:
- 注册 并在阿斯加德奥创建一个组织
- 创建一个 M2M应用
- 授权此应用程序 使用调用“应用程序管理API”
internal_application_mgt_create范围
- 更新
config.yaml具有以下参数。
base_url: "http://localhost:8000" # URL of your MCP server
listen_port: 8080 # Address where the proxy will listen
resource_identifier: "http://localhost:8080" # Proxy server URL
scopes_supported: # Scopes required to defined for the MCP server
- "read:tools"
- "read:resources"
audience: "" # Access token audience
authorization_servers: # Authorization server issuer identifier(s)
- "https://api.asgardeo.io/t/acme"
jwks_uri: "https://api.asgardeo.io/t/acme/oauth2/jwks" # JWKS URL- 使用Asgardeo集成启动代理:
./openmcpauthproxy --asgardeo其他OAuth提供者
运输方式
STDIO模式
使用stdio模式时,代理:
- 使用配置中指定的命令将MCP服务器作为子进程启动
- 通过标准输入/输出(stdio)与子流程通信
备注:指定的任何命令(如 npx 在下面的示例中)必须首先安装在您的系统上- 在您的设备中配置stdio模式
config.yaml:
stdio:
enabled: true
user_command: "npx -y @modelcontextprotocol/server-github" # Example using a GitHub MCP server
env: # Environment variables (optional)
- "GITHUB_PERSONAL_ACCESS_TOKEN=gitPAT" - 使用stdio模式运行代理:
./openmcpauthproxy --demo- SSE模式(默认):用于服务器发送事件传输
- 流式HTTP模式:用于流式HTTP传输
可用命令行选项
# Start in demo mode (using Asgardeo sandbox)
./openmcpauthproxy --demo
# Start with your own Asgardeo organization
./openmcpauthproxy --asgardeo
# Use stdio transport mode instead of SSE
./openmcpauthproxy --demo --stdio
# Enable debug logging
./openmcpauthproxy --demo --debug
# Show all available options
./openmcpauthproxy --help贡献
我们感谢您的贡献,无论是改进文档、添加新功能还是修复错误。要开始,请参阅我们的 贡献指南.

