跳到主要内容

GeekHonize SSO 接入

用 GeekHonize 账号登录你的网站或应用。一个 client_id、一段 SDK, 用户免注册密码;桌面端与游戏还有设备码通道。

纯前端 / SPA

没有后端也能接。公开客户端 + PKCE(S256),全程不出现密钥;浏览器直连 SSO(CORS 白名单)。

接入文档
有后端的网站

标准 OAuth 2.0 授权码。服务端换令牌、自签会话 cookie,定期回源复核,封号即时生效。

接入文档
桌面端 / 游戏

设备码流程:应用里展示 6 位码,用户在任意浏览器输入授权;适合启动器与无表单环境。

协议细节

三步接入(前端示例)

<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 + 自研降级滑块)