百度账号开放授权标准化与安全评价
采用统一协议安全评价方法。只评价百度账号面向外部应用的公开授权接口。
结论
37.5 / 100(E)。百度账号接口可完成 OAuth 式授权码登录,并区分应用级 openid 与开发者级 unionid;但公开文档仍包含查询串 Secret/token、可选 state、oob、宽松回调域和超长 refresh token 等遗留设计。它不应作为新系统协议基线,只适合隔离兼容接入。
统一评分
| 技术维度 | 权重 | 分数 | 依据 |
|---|---|---|---|
| 身份联邦与协议互操作 | 20% | 2.0 | 有 OAuth 式端点;未验证 OIDC Discovery、ID token、JWKS 或标准 UserInfo |
| 授权流程安全 | 15% | 2.0 | code 一次有效且可用 state;文档将 state 设为可选,并含 oob/宽松回调与无 PKCE证据 |
| 令牌与客户端凭据安全 | 15% | 1.0 | Secret/token 查询串与最长十年 refresh token 暴露面大;标准吊销、轮换重放未验证 |
| 权限模型与最小授权 | 15% | 2.5 | 有授权范围概念,但标准 scope/resource/audience 与敏感权限治理证据有限 |
| 密码学与密钥生命周期 | 10% | 2.0 | HTTPS 可用;未验证非对称客户端认证、JWKS、kid 和自动轮换 |
| 主体标识与账号生命周期 | 10% | 2.5 | openid/unionid 作用域可建模;标准 subject、注销和删除事件未验证 |
| 回调、事件与防重放 | 10% | 1.5 | code 一次性提供有限保护;回调绑定、事件签名与统一重放机制薄弱 |
| API 传输与消息语义 | 5% | 1.0 | GET 与查询串传递凭据不符合当前安全基线,响应/错误模型私有 |
标准符合度判断
- 可肯定:authorization code、过期时间以及 openid/unionid 的作用域说明。
- 不能等同:OAuth 风格用户信息流程不是 OIDC;超长 token 不是“用户体验加分”。
- 关键风险:凭据进入 URL/日志、回调绑定弱、公共客户端缺 PKCE 和长期授权难以及时收回。
平台改进顺序
- 新增 OIDC 标准端点与 Discovery/JWKS,停止新增查询串凭据和
oob。 - 强制授权码 + PKCE、state/nonce 和回调地址精确匹配。
- 缩短 refresh token,实行轮换、重放检测、标准撤销,并支持更强客户端认证。
- 明确账号删除、解除授权和 token 吊销事件的签名与幂等语义。
接入方当前控制
- 只允许专用后端调用,网关、WAF、APM 和日志全部脱敏查询参数。
- 无 state 或 state 不匹配一律失败;不用
oob或宽松域名做新接入。 - 用
(baidu, app_key, openid)建立主键,缩短内部会话并主动清理长期授权。
官方资料
核验日期:2026-07-27。