oidc-gateway-demo/oauth2.md

1.8 KiB
Raw Blame History

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

  1. 代码实现规划 创建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