用途:为 Canva Connect 集成建立安全基线,保护客户端密钥与用户令牌,确保访问前先授权,并把预览 Webhook 校验视为额外边界而非业务授权证明。
主要能力:清点密钥与数据流(客户端密钥、访问/刷新令牌、PKCE verifier、OAuth state、回调、浏览器包、日志、备份、任务与外部处理方);加固 OAuth(受控重定向主机、一次性 state/verifier、后端换取令牌、令牌加密分离存储、按用户串行刷新、撤销与断开清理);最小化授权(显式最小 scope,服务端按租户、资源、角色、能力、用途与预览状态逐次校验);数据与日志加固(避免令牌、请求体、签名 URL、个人数据与资源标识进入常规日志);Webhook 校验(用缓存的 Canva JWK 验证签名令牌/声明,按大小写敏感的 key ID 选择,仅未知密钥时重新拉取,防重放与幂等,结果动作另行授权);依赖与部署加固(固定输入、密钥扫描、环境隔离、保护 CI 免受 fork 影响、不可变部署、可回滚与凭据轮换);控制验证(state 不匹配、令牌泄漏防护、跨租户拒绝、刷新竞争、scope 拒绝、未知 Webhook 密钥、重放、撤销同意、账号删除)。
使用方式:Canva Connect 调用使用后端通过 OAuth 2.0 Authorization Code + SHA-256 PKCE 获取的 Bearer 访问令牌;请求显式最小权限 scope,密钥与令牌不得进入浏览器可见状态,刷新需串行并原子存储一次性替换刷新令牌。发现与取证用 Read 和 Grep,仅对已批准的产物、代码、配置、测试或回执使用 Write 或 Edit,不得擅自更改 Canva 侧配置。
适用场景:需要接入 Canva Connect 的后端服务、多租户集成、使用预览 Webhook 的授权流程。
限制与错误处理:密钥进入公开仓库按已泄露处理并轮换调查;跨租户访问成功应禁用该路径并按安全事件处理;Webhook 密钥未知时重新拉取一次 JWK 集,仍未知则失败关闭;同意被撤销时删除令牌并拒绝排队任务。具体价格、平台支持范围等资料暂未提供。