Mini-HBUT 开发者平台生产环境
Security
Client Secret 只用于 Confidential 后端
client_secret只在 Web(Confidential)应用创建/轮换时展示一次,请立即复制并存入服务端环境变量/密钥管理;- 浏览器 bundle、App 内置、前端代码仓库中禁止出现 secret;
- 泄露后立即在「Credentials」页轮换(旧 secret 立即失效,轮换会记入审计日志);
- Native/Public 应用不签发 secret,一律使用 PKCE S256。
state / nonce / PKCE
state:每次授权请求生成随机值,回调时严格比对(防登录 CSRF/中间人注入授权响应);nonce:绑定 id_token,防重放;校验失败必须拒绝;code_verifier:PKCE S256,只存在于会话/内存,绝不出现在 URL、日志或前端存储。
不在前端保存 Token
- access/refresh token 与 id_token 只保存在你的服务端,浏览器只持有你自己的会话 cookie(HttpOnly);
- 禁止把 token 写入 localStorage/sessionStorage 或明文 cookie;
- refresh token 视为敏感凭据:限制使用范围、定期轮换、泄露立即吊销。
精确 Callback(Redirect URI)
- 注册值即匹配值:Mini-HBUT 对 redirect_uri 做逐字符精确匹配,不支持通配符、前缀/后缀或正则扩展;
- 禁止 fragment(#)与 userinfo(user@host)形式;Web 生产必须 https;
- Native 使用自定义 scheme(RFC 8252 §7.1)或 loopback(http://127.0.0.1 动态端口);
- 应用启用后新增/修改回调会使应用重新进入审核,请预留审核时间。
如何 Revoke
- 应用级:在 Developer Console 的「Danger Zone」撤销应用(终态,不可恢复);
- 令牌级:按 OAuth 2.0 标准的
POST /oauth/revoke撤销已签发的 token; - 发现凭据泄露时:立即轮换 secret + 撤销相关令牌 + 检查审计日志。
本页为安全基线说明;更细的横切加固(密钥托管、传输认证等)由平台安全硬化统一跟进。