本分区面向第三方开发者和第三方开发 Agent,说明如何把第三方页面接入“小应账号快捷登录”。
小应账号快捷登录基于标准 OpenID Connect(OIDC)Authorization Code + PKCE。第三方页面需要在小应 App WebView 内发起登录;用户完成授权后,小应会跳回第三方登记的 redirect_uri,第三方服务端再换取 token、验证 id_token 并建立自己的本地登录态。
对校园开发者来说,这套能力的价值不只是“少写登录代码”。手机号验证和短信验证码通常需要企业资质、短信通道费用和长期防刷维护;如果完全不做验证,又很容易被机器人批量注册。接入小应账号快捷登录后,第三方可以直接识别经过小应手机号验证的真实大学生用户,减少账号安全、个人信息存储和垃圾账号治理压力。
推荐登录按钮展示示例:
或
OIDC 和 OAuth 是什么关系?
OAuth 2.0 主要解决“授权”问题:让一个应用在用户同意后,拿到访问某些资源的凭据。
OpenID Connect(OIDC)是在 OAuth 2.0 之上增加的“登录和身份”标准:除了授权流程,还会返回可验证的 id_token,让第三方确认“这个用户是谁”。所以你可以把小应账号快捷登录理解为:使用 OAuth 2.0 的安全跳转和换 token 流程,再通过 OIDC 的 id_token 完成登录和账号绑定。
对接时不需要自己实现 OAuth 或 OIDC 协议,只需要按本文档生成授权链接、处理回调、换 token、验证 id_token,最后用 issuer + subject 绑定到你自己的本地用户。
阅读顺序
| 文档 | 适合阅读时机 |
|---|---|
| 注册申请流程 | 接入前,准备提交给小应官方技术支持的信息,并理解会收到哪些配置。 |
| 登录按钮展示规范 | 设计登录 / 注册页面时,确认按钮文案、图标、位置和视觉样式。 |
| 接口定义与开发适配流程 | 实现小应账号快捷登录、回调、token exchange、id_token 验签和本地账号绑定。 |
| Express.js 案例 | 需要一个最小 Node.js / Express 参考实现时阅读。 |
| Next.js TypeScript 案例 | 使用 Next.js App Router、Prisma 和 PostgreSQL 实现生产化接入时阅读。 |
核心约束
- 接入点固定为
https://api.xiaoying.life/oidc。 - 第三方页面必须在小应 App WebView 内发起授权。
- 第三方服务端必须保存
client_secret,浏览器端不能持有。 - 本地账号唯一键必须使用
issuer + subject。 - 小应账号快捷登录的
access_token只用于/userinfo,不能作为第三方自己的登录 session。