它们之所以看起来像,是因为用户体验都可能表现为“输入账号密码然后登录成功”,但背后的信任边界完全不同。
密码模式的问题在哪
在 OAuth 密码模式里,业务客户端直接拿到用户密码,再代用户去换令牌。这要求客户端本身足够可信,也意味着账号密码暴露面更大。
SSO 的关键差异是什么
SSO 更强调把认证集中到统一身份系统。业务系统通常不自己保存或处理用户密码,而是把登录动作交给认证中心完成,再接收登录结果。
为什么面试时容易混
因为两者表面上都能实现“用户输一次密码”,但一个是客户端自己碰密码,一个是把认证职责收敛到身份提供方。这是架构边界上的根本区别。
结论
看起来像,不代表是一回事。判断标准不是页面长什么样,而是密码最终交给了谁、由谁完成认证。
正文完




