概要
在微服务架构中,认证和授权是绕不开的基础设施。Spring Security OAuth2 是 Java 生态中的事实标准,但也因为配置繁琐、概念众多劝退了不少开发者。
本文从实际项目经验出发,梳理 OAuth2 的核心概念、常见授权模式,以及在 Spring 生态中的落地实践。
OAuth2 核心概念速览
OAuth2 本质上是一套委托授权协议——让用户在不暴露密码的情况下,授权第三方应用访问自己的资源。
四个核心角色:
| 角色 | 职责 | 示例 |
|---|---|---|
| Resource Owner | 拥有资源的用户 | 张三 |
| Client | 请求访问资源的应用 | 微信公众号后台 |
| Authorization Server | 认证并颁发令牌 | 统一认证中心 |
| Resource Server | 存储并保护资源 | 订单服务、用户服务 |
大约 5 分钟