用途:帮助 AI 智能体为 API 集成实现 OAuth 2.0 认证,按客户端类型选择合适授权模式,并处理令牌生命周期与安全存储。
主要能力:支持授权码加 PKCE(面向有用户在场的 Web/移动应用,PKCE 替代客户端密钥并防授权码拦截)、客户端凭证(服务器到服务器、无用户上下文)、设备代码(CLI、智能电视等无法浏览器登录场景);隐式流程已弃用不建议使用。
使用方式:向智能体提供 OAuth 提供方、应用类型(Web 应用、SPA、CLI、服务器到服务器)和所需 scopes,智能体会选择正确 grant type 并产出完整实现。流程包括:在提供方开发者控制台注册应用并精确配置重定向 URI,公共客户端标记;构造授权请求,含 client_id、redirect_uri、response_type=code、scope 及加密随机 state;PKCE 生成 43-128 字符 code_verifier 并用 SHA-256 派生 code_challenge(method=S256);回调时校验 state,再以 grant_type=authorization_code 换取令牌;安全存储令牌,记录过期时间;调用前检查并在 60 秒窗口内刷新,处理刷新令牌轮换,invalid_grant 时要求重新认证。
支持技术:提供方包括 Auth0、Google、GitHub、Microsoft Entra ID、Okta、AWS Cognito、Keycloak;服务端框架有 Express.js、FastAPI、Django、Spring Security、ASP.NET Core;库有 passport.js、authlib、oauthlib、Spring Security OAuth;令牌格式含 JWT 和不透明令牌;标准涉及 RFC 6749、7636、8628、9449。
限制与注意:不要将令牌存入 localStorage 或 URL 参数,应使用 HTTP-only 安全 Cookie、系统密钥链或加密存储;每次回调必须校验 state;刷新令牌可能过期或被撤销,需处理 invalid_grant;并发刷新需加锁防竞态;提供方不可用时应按退避重试;时钟偏差需留 30-60 秒缓冲;重定向 URI 必须完全匹配;日志中须脱敏令牌。资料未提供具体收费或价格信息。