跳到正文
MuoCeon 文档中心
v1auth 上下文凭据管理

第三方身份

POST /v1/auth/credentials/provider/:provider:把第三方账号绑定为登录方式。

绑定第三方身份是把「GitHub 上的那个我」变成这个账号的一把钥匙。它与第三方登录回调是两个端点,授权模型完全不同:登录端点匿名可用,绑定端点要求会话与提权。

请求

POST /v1/auth/credentials/provider/:provider,provider 取 github 或 microsoft。

参数类型必填说明
codestring✅提供商回调拿到的授权码,1–1024 字符
redirect_uristring✅与发起绑定时的地址完全一致
code_verifierstring✅PKCE 原始值,43–128 字符
{ "success": true, "changed": true, "credential": { "id": "cred_...", "type": "oauth", "provider": "github" } }
字段说明
changed本次是否真的新增了凭据;同一身份重复绑定返回 false
credential绑定后的凭据对象,形状见凭据管理总览

code_verifier 在这里是必填

登录场景缺了它,最坏结果是登录 CSRF;绑定场景缺了它,攻击者可以把自己的授权码塞进受害者的浏览器,在受害者账号上留下一个自己完全控制的后门。 PKCE 是唯一能证明「这个授权码由发起绑定的那个浏览器产生」的东西。

行为约定

约定说明
不创建账号身份必须挂在当前会话的账号上
不签发票据绑定不是登录,不产生访问令牌
幂等同一身份已绑在本账号时返回已有凭据,changed: false
审计仅在 changed: true 时写入 provider.bind

提供商目录

绑定的前置信息由两个端点提供,见凭据管理总览:

  • GET /v1/auth/providers:公开目录,登录页渲染按钮用;
  • GET /v1/auth/credentials/providers:多一个 linked 字段,控制台「安全设置」用。

相关

本页目录