用途:本指南面向 Notion Worker 对接第三方服务(如 GitHub、Stripe、Salesforce、Google、Slack)时的认证配置,不涉及 Notion API token、ntn login 或工作区设置。
主要能力:先查阅服务商最新开发者文档,确认其提供个人 API 密钥/PAT、OAuth 还是两者皆无,并据此机械式选择方案。若密钥仅用于向已知域名发送出站请求头,优先使用代理凭证:通过 worker.credential() 声明注入位置,由服务在 worker 运行时之外注入请求头,再用 ntn workers env set 让用户自行填写值;仅当代码必须读取明文(如签名、加密、请求体/查询参数、非 HTTP 客户端)时才把密钥作为环境变量存入 .env,在 execute 内用 process.env 读取,上线前用 ntn workers env push 推送。OAuth 场景通过 worker.oauth() 声明,运行时自动处理授权跳转、令牌交换与刷新,在 execute 内调用 accessToken() 获取有效令牌。
必要用法:OAuth 流程为——查文档确认端点与 scope、注册 OAuth 应用、让用户自行把客户端凭据写入 .env、添加 worker.oauth() 声明、依次执行 ntn workers create、ntn workers env push、ntn workers deploy,再用 ntn workers oauth show-redirect-url 获取回调地址填入服务商设置,最后 ntn workers oauth start <key> 启动授权。本地测试需先完成一次部署与授权,再 ntn workers env pull 拉取令牌。文中提示禁止让用户在聊天中发送密钥,不要在 .env 写入后打开或打印该文件。
限制与常见问题:忘记 env push 会导致部署认证失败;OAuth 的 clientId/secret 在能力注册时绑定,变更后必须重新 deploy;重定向地址不匹配是 OAuth 首要失败原因;scope 应取最小集合;API 密钥不会自动轮换,需用户手动撤销并更新。若服务商既无密钥也无 OAuth,可考虑经关联服务的 OAuth、手动导出上传、从用户邮箱解析,或使用其前端内部接口,但后者不稳定且需用户确认不违反服务条款。