跳到正文
MuoCeon 文档中心
第三方 OAuth 接入

第三方 OAuth 接入

用 MuoCeon 账号登录你的应用:从申请客户端到拿到第一枚令牌。

本篇章面向外部开发者:你有一个自己的应用(Web 站点、桌面程序、移动 App 或服务端服务),希望用户用 MuoCeon 账号登录,并在用户同意后读取其身份信息。

MuoCeon 的授权服务器实现的是标准 OAuth 2.0 授权码流程 + PKCE,并在此之上提供 OIDC 身份令牌、令牌撤销与内省、标准元数据发现。没有私有协议,也没有自定义签名算法:任何成熟的 OAuth 2.0 / OIDC 客户端库都能直接接入。

三段式结构

接入链路由三个角色组成,先认清它们分别负责什么,后面的文档才不会读串。

角色地址形态你与它的关系
开发者平台申请入口在这里登记应用,拿到 client_id(机密客户端另发 client_secret)
授权服务器{issuer},形如 https://id.example.com/v1/oauth换令牌、刷新、撤销、内省、JWKS、元数据
同意页{consentUiUrl}/authorize用户在这里登录并确认授权,是浏览器跳转的落点

开发者平台目前尚未上线。需要创建客户端时,按 申请客户端与登记回调 中的清单提交资料,由运营侧代为登记;登记完成后你会拿到 client_id 与回调地址的生效状态。

你会用到的能力

能力面向第三方说明
授权码 + PKCE✅第三方唯一的取令牌方式,强制 S256
刷新令牌✅请求 offline_access 才签发,刷新即轮换
令牌撤销 / 内省✅RFC 7009 / RFC 7662
OIDC id_token / UserInfo✅请求 openid 后签发,身份信息走 UserInfo
元数据发现✅RFC 8414 / RFC 9728 / OIDC Discovery
认证强度提升(ACR / max_age)✅可要求用户完成更强的认证
授权详情(RFC 9396)⚠️ 仅第一方用于账号自管理能力,第三方不适用
令牌交换(RFC 8693)⚠️ 仅第一方管理端换取 oauth / account 受众令牌
隐式流程 / 密码模式 / 客户端凭据(第三方)❌不支持,也不建议使用

章节地图

一次授权长什么样

用户浏览器            同意页 (id)              授权服务器 (server)
    │                     │                          │
    │ 1. 跳转 /authorize  │                          │
    ├────────────────────>│                          │
    │                     │ 2. 登录态检查 + 预校验     │
    │                     ├─────────────────────────>│
    │                     │ 3. 渲染应用名与权限清单    │
    │  4. 用户点击「同意」  │                          │
    │                     │ 5. 提交授权决策            │
    │                     ├─────────────────────────>│
    │ 6. 302 回 redirect_uri                          │
    │<────────────────────── code + state + iss ──────┤
你的后端                │                          │
    ├── 7. POST /token(带 code_verifier)──────────>│
    │<──────────── access_token / refresh_token ─────┤

第 2 步到第 5 步全部发生在 MuoCeon 的页面里,你不需要、也不能自己实现它们;你能控制的只有第 1 步的跳转参数和第 7 步的换令牌请求。细节见 授权码流程。

术语速查

术语含义
issuer授权服务器标识,令牌里的 iss 与元数据里的 issuer 必须一致
client_id你登记的客户端标识,公开信息,可以出现在浏览器地址里
client_secret机密客户端的密钥,只能存在于你的服务端
redirect_uri登记过的回调地址,换令牌时还要再带一次
scope申请的权限清单,格式为 <资源受众>:<对象>:<动作> 或 OIDC 标准值
aud令牌的受众,决定这枚令牌能调用哪些资源服务器
acr本次认证的强度等级(aal1 / aal2),随令牌下发
state你自己生成的防 CSRF 随机串,原样回传

本页目录