外观
使用沉思波登录
给你的网站或应用加一个「使用沉思波登录」按钮:用户不用在你的站上注册,用沉思波账号一键登录。对标微信开放平台的「微信登录」,基于 OAuth 2.0 授权码流,接入手感一致。
- 对用户:一次授权、随处通行;密码永远不给第三方,授权出去的只有账号 ID、昵称、脱敏邮箱。
- 对开发者:两个接口跑通全流程(换 code、拉用户),支持「总是允许」记住授权。
- 对联盟成员:接入登录即可申请沉思波 OPC 联盟编号,进入友链互挂与流量互换网络。
接入方案一览(按需选一种或多种)
| 方案 | 适合场景 | 怎么做 |
|---|---|---|
| ① 网页按钮跳转(授权码流) | 网站 / Web 应用 | 下面「登录按钮」+ 4 步接入,标准 OAuth 2.0 |
| ② 自有应用测试台实测 | 接入前先跑通验证 | 能力测试台 B 路:填你的 client_id/secret 直打真实接口 |
| ③ 服务端直调 | 后端服务集成 | curl / Node 换 token、拉 userinfo(见「接口说明」示例) |
三种方案共用同一套接口与授权确认页;授权码 90 秒有效、一次一用,access_token 2 小时有效、可吊销。
一、登录按钮(可直接复制)
把下面的按钮放进你的登录页,href 换成你的授权地址即可:
html
<a class="csb-login-btn"
href="https://api.chensibo.cn/api/open/sso/authorize?client_id=你的site_key&redirect_uri=https%3A%2F%2F你的站%2Fcallback&state=随机串&scope=basic">
使用沉思波登录
</a>
<style>
.csb-login-btn {
display: inline-flex; align-items: center; gap: 8px;
height: 42px; padding: 0 22px; border-radius: 999px;
background: #1677ff; color: #fff; font-size: 14.5px; font-weight: 600;
text-decoration: none;
}
.csb-login-btn:hover { background: #0e63d8; }
</style>域名说明
授权接口挂在社区 API 域名下;正式接入前请在开放平台登记你的 redirect_uri(回调地址),未登记的地址会被拒绝(防授权码劫持)。
二、接入流程(4 步)
先实测再动手
能力测试台有「测试应用登录」体验卡(内置测试应用,点按钮即测完整流程),也支持用你自己的应用跑通整条链路:填 client_id 发起真实授权,用你的 client_secret 打真实换 token 接口——不是模拟器,响应与正式环境完全一致。
- 申请应用:在开发者中心自助创建应用,拿到
site_key(client_id)和client_secret(只回显一次,请妥善保存);建出来的应用先「待审核」,审核前你自己的账号可开发自测。 - 配置回调:登记
redirect_uri(精确到完整地址最严;只登记域名则允许该域下任意路径)。 - 用户点按钮 → 跳转授权页:
- 未登录 → 沉思波登录页(/sso-login);
- 已登录且首次 → 授权确认页(/sso-consent):用户点「允许并登录」(可勾「总是允许」);
- 已允许过 → 直接 302 回你的
redirect_uri?code=...&state=...。
- 你的服务端拿 code 换 token,拉用户信息(见下方示例)。
code90 秒有效、一次一用;access_token2 小时有效,可吊销。
用户点「拒绝」时,回调带 error=access_denied,按 OAuth 惯例处理即可。
三、接口说明
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/open/sso/authorize | 授权入口。参数:client_id redirect_uri state scope(state 原样回显,用于防 CSRF) |
| POST | /api/open/sso/token | code 换 access_token。body:code client_id client_secret redirect_uri |
| GET | /api/open/sso/userinfo | 拉用户信息。Header:Authorization: Bearer <access_token> |
| POST | /api/open/sso/revoke | 吊销 access_token |
用户信息字段(userinfo 与 token 响应中的 user 同形):
json
{ "id": 123, "nickname": "小明", "avatar": null, "email_masked": "xi***@qq.com" }邮箱只给脱敏值,不吐明文;avatar 现阶段为 null(头像能力在路线图里)。
四、服务端示例
换 token(curl):
bash
curl -X POST https://api.chensibo.cn/api/open/sso/token \
-H 'Content-Type: application/json' \
-d '{"code":"opc_code_xxx","client_id":"opc_app_xxx","client_secret":"opc_sk_xxx","redirect_uri":"https://你的站/callback"}'拉用户(Node.js):
js
const r = await fetch('https://api.chensibo.cn/api/open/sso/userinfo', {
headers: { Authorization: 'Bearer ' + accessToken }
})
const user = await r.json()
// user = { id, nickname, avatar, email_masked }拿到 user.id 后,在你自己的系统里做绑定(首登建号 / 已有账号关联),后续登录直接认这个 ID。
五、错误与安全口径
redirect_uri未登记 / 不匹配 → 400,不发码;请在登记时写完整回调地址(最严)。code过期(90 秒)或已用过 → 401「授权码无效或已过期」。client_secret只在创建/轮换时回显一次,库里只存哈希;泄露了可在控制台轮换。state请务必使用随机串并在回调时校验,防 CSRF。- 应用需要审核通过(状态 active)才能走通全流程;审核台在开放平台控制台。
六、接入之后:加入 OPC 联盟
接入「使用沉思波登录」的站点,可以申请沉思波 OPC 联盟编号(格式「沉思波盟·2026·0001」),获得:
- 联盟编号与徽标:页脚展示联盟成员身份(联盟编号为联盟内部认证编号,非工信部 ICP 备案号);
- 友链互挂:进入联盟成员互链网络;
- 流量互换:成员站之间互相导流,参与站间「穿梭」。
申请与审核通过后编号入库、名单公示;联盟保留巡检与除名权利,细则见联盟成员页。

本页讨论
0 条评论还没有评论,来说第一句。