使用说明
MCPAuth
这个存储库包含用于MCP(多云平台)集成的身份验证和客户端实用程序。
文件
根据上面的信息,执行如下指令:
一个用于生成JWT和创建经过身份验证的MCP客户端的Python模块。
功能特点:
- 使用RS256算法生成JWT令牌。
- 使用环境变量
PRIVATE_KEY用于签名。 - 提供一个异步上下文管理器来创建经过身份验证的HTTP头部。
- 提供了示例用法以快速设置。
使用示例:
token_data = {
"access_token": generate_jwt(),
"instance_url": "https://example-mcp-server.com",
"token_type": "Bearer"
}
mcp_client = create_authenticated_mcp_client(token_data)
server.js
一个用于验证传入请求中JWT的Node.js服务器处理器。
功能:
- 从(某处)提取并验证JWT
access_token头球 - 使用环境变量
PUBLIC_KEY用于验证。 - 对于缺失或无效的令牌,返回相应的状态码。
- 在成功解码时向控制台打印一条消息。
使用示例:
import jwt from 'jsonwebtoken';
async function handleRequest(req, res) {
const token = req.headers['access_token']?.split(' ')[1];
if (!token) {
res.status(400).send('Missing authentication token');
return;
}
try {
const public_key = process.env.PUBLIC_KEY;
const decoded_token = jwt.verify(token, public_key, { algorithm: ['RS256'] });
console.log("Token decoded successfully")
}
catch (err){
res.status(400).send(`Token invalid or we get connection error: ${err}`);
}
}
环境变量
PRIVATE_KEY用于client.py用于JWT签名。PUBLIC_KEY用于server.js用于JWT验证。
许可证
麻省理工学院(或您选择的许可证)