Token导航 LogoToken导航TokenDH.com
Sample Bedrock Agentcore Gateway User Federation logo
AI代理未说明官方级别未说明来源级核验

Sample Bedrock Agentcore Gateway User Federation

MCP Server

通过Amazon Bedrock AgentCore网关拦截器,将OAuth 2.0保护的API作为MCP工具暴露给AI代理,同时保留用户认证上下文。

工具数

0

提示词数

0

GitHub Stars

3

资源数

0
AI代理PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aws-samples

提供方

aws-samples

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

亚马逊基岩代理核心网关用户联合会

](https://github.com/aws-samples/sample-bedrock-agentcore-gateway-user-federation) ![License](LICENSE) ![Documentation](https://aws-samples.github.io/sample-bedrock-agentcore-gateway-user-federation/)

![AWS](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is.html) ![Strands Agents](https://github.com/strands-agents/strands-agents) ![MCP](https://modelcontextprotocol.io/) ![JWT](https://jwt.io/) ![Claude](https://www.anthropic.com/claude)

![Python](https://www.python.org/) ![TypeScript](https://aws.amazon.com/cdk/) ![React](https://react.dev/)

将OAuth 2.0安全API作为人工智能代理的MCP工具公开,同时使用Amazon Bedrock AgentCore网关拦截器保留用户身份验证上下文。

主要特点

  • 用户_联邦模式 -JWT在整个请求链中的传播
  • 三层JWT验证 -运行时、网关和API网关
  • 网关拦截器 -向下游API注入授权标头
  • CUSTOM_JWT授权人 -与任何OIDC提供商(Okta、Auth0、Azure AD、亚马逊Cognito)合作

______________________________________________________________________

快速开始

# 1. Clone repository
git clone https://github.com/aws-samples/sample-bedrock-agentcore-gateway-user-federation.git
cd sample-bedrock-agentcore-gateway-user-federation

# 2. Configure environment (see docs/SETUP.md)
cp frontend/.env.example frontend/.env
cp backend/.env.example backend/.env
cp api/.env.example api/.env

# 3. Start services (3 terminals)

# Terminal 1 - Frontend
cd frontend && npm install && npm start

# Terminal 2 - Backend
cd backend && python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt && python src/app.py

# Terminal 3 - API
cd api && python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt && python src/api.py

访问: http://localhost:3000

______________________________________________________________________

项目结构

three-tier-chat-app/
├── docs/                   # Project documentation
│   ├── README.md           # Architecture overview
│   ├── SETUP.md            # Setup guide
│   ├── DEPLOYMENT.md       # AWS deployment
│   ├── ARCHITECTURE.md     # Detailed architecture & diagrams
│   └── SECURITY.md         # Security guidelines
│
├── frontend/               # React application (Port 3000)
│   ├── src/
│   │   ├── components/     # React components
│   │   ├── App.js          # Main app
│   │   └── index.js        # Entry point
│   ├── package.json
│   └── .env.example
│
├── backend/                # Backend proxy (Port 5002)
│   ├── src/
│   │   └── app.py          # Flask application
│   ├── requirements.txt
│   └── .env.example
│
├── api/                    # Secured API (Port 5001)
│   ├── src/
│   │   ├── api.py          # Flask application
│   │   └── user_database.py # Mock database
│   ├── requirements.txt
│   └── .env.example
│
├── agentcore/              # AgentCore agent
│   ├── agents/
│   │   └── userassistant/  # User assistant agent
│   └── README.md
│
├── base-infra/             # Infrastructure
│   ├── cdk/                # AWS CDK stacks
│   ├── scripts/            # Utility scripts
│   └── README.md
│
└── README.md               # This file

______________________________________________________________________

建筑

flowchart LR
    User([User]) --> Frontend[Frontend
React + Okta]
    Frontend -->|JWT| Backend[Backend
Flask]
    Backend --> API[Secured API
Lambda]
    Backend --> Agent[AgentCore
AI Agent]
    Agent -.->|Federated JWT| API

数据流: User → Frontend → Backend → API / AgentCore → Response

docs/ARCHITECTURE.md 有关详细的序列图、安全标头和跟踪。

______________________________________________________________________

特性

身份验证和安全

  • Okta SSO,带授权码+PKCE流
  • 每层JWT签名验证
  • CORS仅限于特定来源
  • 安全标头(HSTS、CSP等)
  • 代码中没有秘密(.env文件被忽略)

用户体验

  • 具有响应式设计的现代React UI
  • 与AgentCore进行人工智能聊天
  • 用户配置文件显示
  • API流量对比演示

人工智能能力

  • 使用Claude的上下文感知响应
  • USER_FEDERATION(代理使用用户的JWT)
  • 访问用户特定数据
  • 会话管理

POC功能

  • 模拟数据库(无需基础设施设置)
  • 调试模式已启用
  • 详细的开发错误消息

______________________________________________________________________

文档

文档描述
docs/SETUP.md入门指南
文档/部署.mdAWS部署说明
docs/ARCHITECTURE.md详细的架构图
docs/SECURITY.md安全指南

组件文档

______________________________________________________________________

技术栈

技术
前端React 18、Okta React SDK、Axios、React Router
后端Python 3.11、Flask 3.0、PyJWT 2.8
APIPython 3.11,Flask(Lambda就绪),模拟数据库
基础设施AWS CDK、Lambda、S3、CloudFront、API网关
人工智能AWS基岩代理核心,克劳德

______________________________________________________________________

发展

先决条件

  • Node.js 18+
  • Python 3.10+
  • OCT账户
  • AWS帐户(用于AgentCore)

本地开发

每个服务都独立运行:

# Frontend (http://localhost:3000)
cd frontend && npm install && npm start

# Backend (http://localhost:5002)
cd backend && pip install -r requirements.txt && python src/app.py

# API (http://localhost:5001)
cd api && pip install -r requirements.txt && python src/api.py

______________________________________________________________________

部署

AWS部署

cd base-infra/cdk

# Install dependencies
npm install

# Bootstrap CDK (first time only)
cdk bootstrap aws://ACCOUNT_ID/REGION

# Deploy all stacks
cdk deploy --all

文档/部署.md 详细说明。

______________________________________________________________________

安全

这是一个 教育项目 演示云原生架构模式。

已实施:

  • git中没有秘密(.env文件gitignored)
  • 在每一层验证JWT签名
  • 控制台日志中没有敏感数据
  • AWS凭据受保护

延期生产:

  • 速率限制
  • 输入验证
  • CSRF保护
  • 真实数据库

对于生产部署,请遵循安全最佳实践:

docs/SECURITY.md 详细的安全指南。

______________________________________________________________________

故障排除

端口已在使用中:

lsof -ti:3000  # Find process
kill -9 
  # Kill process

Okta身份验证失败:

  • 在Okta仪表板中验证重定向URI
  • 检查OKTA_ISSUER包括 /oauth2/default
  • 确保已启用PKCE

CORS错误:

  • 验证后端/.env中的ALLOWED_ORIGINS
  • 检查后端是否正在运行
  • 清除浏览器缓存

______________________________________________________________________

路线图

电流(POC)

  • \[x\] Okta SSO身份验证
  • \[x\] 三层架构
  • \[x\] AgentCore与USER_FEDERATION的集成
  • \[x\] AWS CDK基础架构(AgentCore的alpha构造)
  • \[x\] 使用OpenTetry/ADOT进行分布式跟踪
  • \[x\] 模拟数据库
  • \[x\] 安全审查

未来(生产)

  • \[\]真实数据库(DynamoDB/RDS)
  • \[\]速率限制和输入验证
  • \[\]综合测试套件
  • \[\]CI/CD管道
  • \[\]监控和警报

______________________________________________________________________

联系

Abhijeet Patil github: @普拉杰瓦伦德拉

安全

贡献 了解更多信息。

许可证

此库根据MIT-0许可证获得许可。请参阅LICENSE文件。

目录标签

目录标签

AI代理PythonClaude本地部署用户认证OAuth2.0JWT验证网关拦截

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP