用途:该技能为 Golden Armada AI Agent Fleet Platform 提供认证与授权能力,适用于用户登录流程、JWT 令牌管理、OAuth2 集成、会话管理、基于角色的访问控制(RBAC)以及安全审计与威胁分析等场景。
主要能力:
- JWT 认证:使用 python-jose 生成与校验访问令牌和刷新令牌,访问令牌默认 30 分钟过期,刷新令牌默认 7 天;使用 passlib 的 bcrypt 进行密码哈希与校验。
- FastAPI 集成:通过 OAuth2PasswordBearer 提供 get_current_user、get_current_active_user 依赖,并支持 require_roles 角色校验。
- OAuth2 集成:支持 Google、GitHub 等提供方注册与回调,使用 authlib 的 Starlette 客户端完成授权码流程。
- 会话管理:使用 secrets 生成会话 ID,存储于 Redis 并设置 24 小时过期,通过 HttpOnly、Secure、SameSite=Lax 的 Cookie 下发。
- RBAC:定义 Permission 枚举与 ROLE_PERMISSIONS 映射,提供 has_permission 与 require_permission 依赖。
- OAuth2/OIDC 实践:包含授权码流程、PKCE(SPA)、客户端凭证流程(服务间调用)以及 OIDC ID Token 校验(JWKS 获取、RS256 验签、aud/iss/exp 校验)。
- 安全建议:生产环境使用 HTTPS、bcrypt 或 argon2 哈希密码、短生命周期访问令牌、刷新令牌轮换、HttpOnly Secure Cookie、认证端点限流、认证事件审计日志、失败锁定。
使用方式:在涉及认证、授权、登录、令牌、会话、权限或安全审计的任务中激活该技能,按资料中的 Python/FastAPI 代码模式实现;OAuth2 与 OIDC 需配置对应环境变量(如 JWT_SECRET、GOOGLE_CLIENT_ID、OAUTH_CLIENT_ID 等)。
限制:资料未提供具体安装命令、依赖版本、收费与价格信息、平台支持范围及实际效果数据;部分内容(如多租户自定义声明)在资料中未完整展开。