1.8 KiB
1.8 KiB
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. 用户登录流程
- 用户访问前端应用
- 前端重定向到认证网关的登录页面
- 用户输入凭据进行认证
- 认证成功后返回授权码
- 前端使用授权码换取access_token
- 后续请求携带token访问API
需要前端页面(只需要登录页),页面尽量简单,因为只是为了测试统一认证功能; 用户数据存在的数据库结构见 database.md;
- 代码实现规划 创建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