三步接入(前端示例)
<script src="http://127.0.0.1:8783/sdk/gh-sso.min.js"></script>
<script>
GHSSO.config({ clientId: 'gh_xxxxxxxx', redirectUri: location.origin + '/cb' });
GHSSO.login(); // 跳转授权(自动带 PKCE)
const r = await GHSSO.handleCallback(); // 回调页:校验 state 并换令牌
</script>SDK 零依赖(gzip 约 4 KB),另有 @geekhonize/sso-sdk/server 供 Node / Workers 使用。
下载与 CDN 地址。
现状与边界
| 协议 | OAuth 2.0 授权码(机密客户端)+ PKCE S256(公开客户端)+ 设备码 |
| 令牌 | HS256 JWT,7 天有效。共享密钥签名 ⇒ 第三方无法本地验签,复核身份请调 /me |
| 数据 | SSO 只暴露 openid / profile(id、用户名、昵称、邮箱)。不向接入方开放密码与更多字段 |
| 配额 | 每人 10 个应用、每日 5 个;回调白名单 5 条 |
| 2FA | 暂无 TOTP/WebAuthn;登录侧有人机验证(Turnstile + 自研降级滑块) |