OAuth2认证服务

为MCP平台提供Google OAuth2客户端应用B2C认证的服务,实现安全用户认证和基于角色的访问控制。

  • by ksankaran
  • Python
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 ksankaran/mcp-b2c-oauth

使用说明

MCP B2C OAuth

为MCP平台实施Google OAuth2客户端应用程序B2C身份验证的项目。

概述

该项目提供与Google OAuth2的集成,用于MCP(模型上下文协议)平台内的身份验证和授权。它通过谷歌的身份平台实现了安全的用户身份验证。

特性

  • Google OAuth2集成
  • OAuth 2.0身份验证流程
  • 令牌管理
  • 用户配置文件检索
  • 基于角色的访问控制

安装

uv sync

配置

修改 .env 根目录中的文件,包含以下变量:

MCP_CLIENT_ID=<YOUR_GOOGLE_CLIENT_ID>
MCP_CLIENT_SECRET=<YOUR_GOOGLE_CLIENT_SECRET>

用法

启动开发服务器:

uv run .

身份验证流程

  1. 用户被重定向到Google OAuth2登录页面
  2. 成功身份验证后,Google重定向到回调URL
  3. 应用程序验证收到的令牌
  4. 用户会话已建立

api参考

身份验证端点

  • GET /callback -处理OAuth回调
  • GET /.well-known/oauth-authorization-server -身份验证服务器详细信息
    • GET /authorize -MCP客户端用于向服务器授权
    • GET /token -MCP客户端用于从代码中获取令牌
    • GET /register -MCP客户端用于将自己注册到服务器

发展

先决条件

  • Python 3.13+
  • 具有OAuth 2.0客户端凭据的Google Cloud Platform帐户

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

联系

姓名-kv.coder@gmail.com

项目链接: https://github.com/ksankaran/mcp-b2c-oauth