用途:帮助开发者配置和管理 Twilio 的各类身份验证凭据,覆盖本地原型到生产环境的认证方式选择。
主要能力:介绍四种认证方式——Account SID + Auth Token(仅本地原型,拥有完整账户权限)、Standard API Key(生产推荐,可撤销,无法访问 /Accounts 与 /Keys)、Restricted API Key(细粒度最小权限)、Main API Key(账户管理自动化,仅控制台创建)。还涵盖测试凭据、Auth Token 轮换、客户端 SDK 的 Access Token(短期 JWT)以及环境变量参考。
使用方式:在控制台获取 Account SID 与 Auth Token 后,Python 用 Client(os.environ["TWILIO_ACCOUNT_SID"], os.environ["TWILIO_AUTH_TOKEN"]),Node.js 用 require("twilio")(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN)。生产环境改用 API Key:Python 需将 Account SID 作为第三个参数传入,Node.js 用 { accountSid: ... }。Restricted Key 须通过 v1 IAM API 创建并指定 policy。Access Token 由服务端生成后传给浏览器/移动端,支持 VoiceGrant、VideoGrant、ChatGrant、SyncGrant。
适用场景:本地原型、生产应用、多租户与微服务的最小权限、账户管理自动化、客户端 SDK 认证。
限制:Standard Key 无法访问 /Accounts 或 /Keys(错误 20003);v2010 /Keys.json 会忽略 restricted 参数,须用 v1 IAM API;Restricted Key 不能生成 Access Token;Access Token 无法单独撤销,最长 24 小时;API Key 无法轮换,泄露需删除重建;子账户凭据不能访问父或同级资源;测试凭据仅支持 Messages、Calls、IncomingPhoneNumbers、Lookups 四个端点;API Key Secret 仅创建时显示一次;FriendlyName 上限 64 字符;Restricted Key 每把最多 100 条权限;Main Key 仅控制台创建;PKCV 与 Flex、Studio、TaskRouter 不兼容且启用后禁用 Auth Token 认证。