用途:在 Ruby 项目中为 Telnyx API 访问实现 OAuth 2.0 认证流程,资料以 Ruby SDK 示例形式给出。
主要能力:
- 元数据发现:获取 OAuth 2.0 授权服务器元数据(RFC 8414,GET /.well-known/oauth-authorization-server)与受保护资源元数据(GET /.well-known/oauth-protected-resource)。
- 授权流程:授权端点(GET /oauth/authorize)、查询 OAuth 同意令牌(GET /oauth/consent/{consent_token})、创建 OAuth 授权(POST /oauth/grants,必填 allowed、consent_token)。
- 令牌操作:令牌端点(POST /oauth/token,必填 grant_type,可选 code、code_verifier、refresh_token、scope 等)、令牌自省(POST /oauth/introspect,必填 token)、JWKS 获取(GET /oauth/jwks)。
- 客户端注册与管理:动态客户端注册(POST /oauth/register,RFC 7591)及 OAuth 客户端的列表、创建、查询、更新、删除(/oauth_clients)。
- 授权管理:列出、查询与撤销 OAuth 授权(/oauth_grants)。
使用方式:安装 gem install telnyx;初始化 client = Telnyx::Client.new(api_key: ENV["TELNYX_API_KEY"])。所有示例假设 client 已初始化。
错误处理:需处理网络错误(Telnyx::Errors::APIConnectionError)、速率限制 429(Telnyx::Errors::RateLimitError)、状态错误(Telnyx::Errors::APIStatusError)。常见状态码:401 无效 API 密钥、403 权限不足、404 资源不存在、422 校验错误、429 限流(可用指数退避重试)。
限制与注意:分页使用 .auto_paging_each 自动遍历;具体速率限制阈值、计费与配额资料未提供。部分接口参数与返回字段以官方资料为准,示例中 update 未传参数。