# oAuth2: 统一认证 ## 项目概述 这是一个基于Spring Boot的统一认证应用,集成了OAuth2认证服务,用户可以通过统一的登录入口访问不同的后端服务,系统会自动处理认证和请求转发。 ## 核心功能 ### 1. 统一用户登录 - **OAuth2认证服务器**:提供标准的OAuth2认证流程 - **多种登录方式**:支持用户名密码、手机号、邮箱登录 - **JWT Token**:生成和验证JWT令牌 - **Session管理**:支持分布式session管理 ## 核心配置 ### 1. OAuth2认证配置 - **授权类型**:支持authorization_code、password、client_credentials - **Token存储**:JWT令牌,支持无状态部署 - **Token过期时间**:access_token 2小时,refresh_token 30天 ## 使用流程 ### 1. 用户登录流程 1. 用户访问前端应用 2. 前端重定向到认证网关的登录页面 3. 用户输入凭据进行认证 4. 认证成功后返回授权码 5. 前端使用授权码换取access_token 6. 后续请求携带token访问API 需要前端页面(只需要登录页),页面尽量简单,因为只是为了测试统一认证功能; 用户数据存在的数据库结构见 database.md; 3. 代码实现规划 创建Spring Boot项目(Maven结构) 添加Spring Security、OAuth2、JWT相关依赖 编写OAuth2认证服务器配置 登录方式(用户名 密码) 实现JWT Token生成与校验 提供登录、Token获取等接口 注释详细,便于理解 需要支持Token刷新 极简登录页 index.html,仅支持用户名密码登录 Spring Boot + OAuth2 + JWT,用户名密码登录,数据库结构见 database.md 极简登录页 index.html,仅支持用户名密码登录) 登录页: http://localhost:9090/index.html http://localhost:9090/index.html?client_id=order&redirect_uri=http://order.com/home