workbuddy需通过oauth 2.0实现安全调用第三方服务:一、注册oauth应用并配置回调地址与pkce;二、优先使用授权码模式完成令牌交换;三、仅在必要时启用隐式模式并加强前端防护;四、配置刷新令牌自动续期;五、按最小权限原则精确声明和校验scope。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望WorkBuddy安全调用第三方服务(如企业微信、高德地图、Google等)并获取受保护资源,必须通过OAuth 2.0完成身份授权与令牌交换。以下是实现该目标的多种合规配置路径:
一、启用OAuth 2.0连接器并注册应用
此步骤用于在WorkBuddy中声明第三方OAuth提供方身份,生成合法client_id与client_secret,并绑定可信回调地址,是整个授权流程的前提。
1、进入WorkBuddy管理后台,点击【集成中心】→【OAuth 2.0应用注册】。
2、选择目标平台图标(如“Google”“企业微信”“飞书”),系统自动填充标准授权端点与令牌端点URL。
3、填写平台侧已注册的应用信息:粘贴从第三方开发者控制台获取的client_id与client_secret。
4、在【授权回调地址】栏输入WorkBuddy实例专属地址:https://your-workbuddy-domain.com/oauth/callback,该地址必须与第三方平台后台登记的redirect_uri完全一致。
5、勾选【启用PKCE增强】,系统将自动生成code_verifier并注入后续授权请求,防止授权码劫持。
二、配置授权码模式(Authorization Code Flow)全流程
该模式为OAuth 2.0最安全的交互方式,适用于所有Web及桌面客户端场景,强制要求后端参与令牌交换,避免client_secret暴露于前端。
1、在【OAuth连接器详情页】中,点击【启动授权流程】,WorkBuddy将构造标准授权URL并跳转至第三方登录页。
2、用户完成身份认证并同意授权后,第三方平台通过302重定向返回包含code与state参数的回调地址。
3、WorkBuddy后端服务自动截获code,拼装POST请求至令牌端点,携带以下字段:grant_type=authorization_code、code、redirect_uri、client_id、client_secret。
4、接收JSON响应,提取access_token、refresh_token及expires_in字段,存入加密凭证存储区。
三、配置隐式模式(Implicit Flow)用于纯前端集成
当第三方平台仅支持隐式模式(如部分旧版IM SDK或受限沙箱环境),且无法部署后端代理时,可启用此模式,但须严格限制使用范围并启用额外防护。
WorkBuddy 桌宠工厂 —— 给一张角色图、一个 codex.pet 链接、一条 codex-pets.net 下载 URL、或一份现成的精灵表,就能自动创建一只可联动 WorkBuddy 状态的桌面宠物。当用户说"创建桌宠"、"做一只桌宠"、"用这张图做桌宠"、"从 codex.pet 安装桌宠"、"导入 codex 桌宠 XX"、"装一下 codex-pets.net 上的 XX&quo
1、返回【OAuth连接器配置页】,切换授权模式为“隐式模式”。
2、确认第三方平台文档明确支持response_type=token,且允许将access_token直接返回至fragment(#access_token=xxx)。
3、在【前端JS注入区】粘贴WorkBuddy提供的校验脚本,该脚本自动解析URL fragment,验证state一致性并拒绝无签名响应。
4、勾选【强制HTTPS重定向】与【禁止Referer泄露】,确保浏览器不会在跳转过程中向第三方发送敏感头部。
四、配置刷新令牌自动续期策略
为避免用户频繁重新授权,WorkBuddy需在access_token过期前主动调用刷新接口,该过程必须在服务端完成,且refresh_token须加密持久化存储。
1、进入【凭证管理】→【OAuth令牌生命周期】,定位对应连接器。
2、设置【自动刷新触发阈值】为剩余有效期≤15分钟,系统将在后台定时检查并触发刷新请求。
3、刷新请求必须携带grant_type=refresh_token、refresh_token、client_id与client_secret,不得省略任一字段。
4、刷新成功后,新access_token与新refresh_token将同步更新至本地加密存储,旧refresh_token立即失效。
五、启用细粒度作用域(Scope)与权限隔离
WorkBuddy支持按API动作动态申请最小必要权限,防止过度授权,所有scope必须在注册阶段显式声明并在每次授权请求中精确传递。
1、在【OAuth连接器编辑页】的【权限范围】区域,清除默认全量scope,仅勾选当前业务必需项,例如仅选profile与email,禁用contacts或calendar。
2、对于地理编码类API(如高德),手动输入定制scope:geocode:geo,确保响应中不返回非地理相关字段。
3、在AI工作流节点配置中,每个API调用动作下方显示已授权scope清单,若动作所需权限未被授予,系统将阻断执行并提示权限不足,请重新授权。










