oauthserver是一个基于Spring Boot Oauth2的完整的独立的Oauth2 Server微服务。项目的目的是,仅仅需要创建相关数据表,修改数据库的连接信息,你就可以得到一个Oauth2 Server微服务。
为了开发方便,项目拆分成三个模块,api、web和common:
- api运行在8181端口,api模块是提供api服务的,主要是oauth token等其他业务接口;
- web运行在8182端口,是一个基于Element UI的管理后台;
- common是公共工具模块。
支持的关系型数据库:
- MySQL
- Oracle
- PostgreSQL
- Microsoft SQL Server
- Oauth token服务,支持3种登录方式:手机号+验证码、手机号+密码、邮箱+密码(使用流程参考oauth接口调用示例,如果你需要使用短信验证码服务,请前往阿里大于和云之讯短信服务购买短信验证码服务,并在application.properties中配置相关参数);
- 短信验证码服务,支持三种:阿里大于、腾讯云短信服务、云之讯短信服务;
- 微信、支付宝支付;
- 七牛云存储;
- 代码生成器。
公共工具类模块
- 主页
- 了解OauthServer
- 新闻管理
- 订单管理
- 系统管理
- 定时任务
- 菜单管理
- 用户管理
- 权限管理
- 数据字典
- 系统工具
- 代码生成
- swagger
- druid
- 日志管理
- 支持SQL Server。
- 代码生成器支持sql server;
- service通用实现,减少大量冗余serviceImpl代码。
- 代码生成器多语言bug修复;
- postgresql环境下的sql bug修复;
- 更新全局异常处理;
- session有效期为半小时,解决登录失效时,跳转登录页面的iframe嵌套问题;
- 升级element-ui 2.9.1->2.10.1;
- 添加验证码测试接口;
- 减少一些依赖;
- 给t_users表的username列添加唯一键;
- 修复使用refresh_token刷新access_token时,报“不支持的登录方式”的bug;
- web模块支持用户名登录;
- api模块新增常用用户相关接口。
更多历史更新日志查看CHANGE_LOG.md
IntelliJ IDEA或Eclipse请先安装lombok插件。
- IntelliJ IDEA安装请参考https://projectlombok.org/setup/intellij;
- Eclipse安装请参考https://projectlombok.org/setup/eclipse。
有部分自建jar在中央仓库是没有的,需要使用mvn install安装到本地。执行“需要安装的jars”文件夹下的install.bat安装。
- MySQL
请执行schema-mysql.sql,完成数据表的创建和测试数据的导入。之后,请执行SQL增量更新目录下的增量更新SQL。 - Oracle
请执行schema-oracle.sql,完成数据表的创建和测试数据的导入。之后,请执行SQL增量更新目录下的增量更新SQL。 - PostgreSQL
请执行schema-postgresql.sql,完成数据表的创建和测试数据的导入。之后,请执行SQL增量更新目录下的增量更新SQL。 - SQL Server
请执行schema-sqlserver.sql,完成数据表的创建和测试数据的导入。之后,请执行SQL增量更新目录下的增量更新SQL。
- MySQL
连接信息在application-mysql.yml里。修改完数据库连接信息后,还需要设置application-common.yml的spring.profiles.active=mysql。 - Oracle
连接信息在application-oracle.yml里。修改完数据库连接信息后,还需要设置application-common.yml的spring.profiles.active=oracle。 - PostgreSQL
连接信息在application-pg.yml里。修改完数据库连接信息后,还需要设置application-common.yml的spring.profiles.active=pg。 - Microsoft SQL Server
连接信息在application-sqlserver.yml里。修改完数据库连接信息后,还需要设置application-common.yml的spring.profiles.active=sqlserver。
现在,一切已准备就绪。运行项目,当程序成功启动时,即表明你已配置成功。
测试账号:手机号18800000000,密码1234567890c

在使用过程中有任何疑问或者问题,请提交issue,我会在收到的第一时间予以回复。
