知识卡片

OAuth2.0的角色模型与授权模式选型

专业/工作 · 622.e

内容

OAuth 2.0解决的是”第三方应用如何在不知道用户密码的前提下,获得访问用户资源的有限权限”这一问题,核心思路是把身份验证委托给专门的认证服务器,由它向第三方应用颁发一个范围受限的令牌,涉及用户、认证服务器、资源服务器、第三方客户端四个角色的信息交换。四种授权模式对应不同的信任级别:授权码模式最安全,适合能保密客户端密钥的服务端应用;简化模式令牌直接暴露给浏览器,适合无法保密密钥的纯前端应用;密码模式要求用户直接把账密交给客户端,只应在用户高度信任该应用(如自家系统)时使用;客户端模式则完全不涉及用户,是应用代表自己而非代表用户去申请令牌。发散:选型的判断标准始终是”这个客户端能不能安全保管密钥”以及”这次授权背后有没有一个真实用户在场”。

参考来源

《Spring Boot应用开发实战》第5章《应用程序安全性》