oauthserver是一个基于Spring Boot Oauth2的完整的独立的Oauth2 Server微服务。项目的目的是,仅仅需要创建相关数据表,修改数据库的连接信息,你就可以得到一个Oauth2 Server微服务。
为了开发方便,项目拆分成6个模块,eureka-server、oauth、common、api、web、old-task:
- eureka-server是eureka服务模块;
- oauth是Authentication Server模块,用于给其他模块(主要是提供api接口的模块)授权。
- common是公共工具模块,包括了Service和Model层,目前api、web、old-task都依赖该模块。
- api模块是提供api接口的服务;
- web是一个基于Element UI的管理后台;
- old-task是Quartz分布式定时任务模块,支持集群。
支持的关系型数据库:
- MySQL
- Oracle
- PostgreSQL
- Microsoft SQL Server
- Oauth token服务,支持3种登录方式:手机号+验证码、手机号+密码、邮箱+密码(使用流程参考oauth接口调用示例,如果你需要使用短信验证码服务,请前往阿里大于和云之讯短信服务购买短信验证码服务,并在application.properties中配置相关参数);
- 短信验证码服务,支持三种:阿里大于、腾讯云短信服务、云之讯短信服务;
- 微信、支付宝支付;
- 七牛云存储;
- 代码生成器。
公共工具类模块
- 主页
- 了解OauthServer
- 新闻管理
- 订单管理
- 系统管理
- 定时任务
- 菜单管理
- 用户管理
- 权限管理
- 数据字典
- 系统工具
- 代码生成
- swagger
- druid
- 日志管理
- 从api模块移除oauth授权代码,仅保留controller层代码;
- 从api模块移除的oauth授权代码,独立成oauth模块,作为授权服务器,给api模块提供授权服务。
- 新增eureka-server模块;
- 删除一些重复依赖;
- 更新Dockerfile。
- 支持SQL Server。
- 代码生成器支持sql server;
- service通用实现,减少大量冗余serviceImpl代码。
更多历史更新日志查看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
安装。
注意:数据库都要忽略大小写。 所有SQL文件都在“SQL初始化”目录下。
- MySQL
请执行schema-mysql.sql
,完成数据表的创建和测试数据的导入。之后,请执行相应的增量更新SQL。 - Oracle
请执行schema-oracle.sql
,完成数据表的创建和测试数据的导入。之后,请执行相应的增量更新SQL。 - PostgreSQL
请执行schema-postgresql.sql
,完成数据表的创建和测试数据的导入。之后,请执行相应的增量更新SQL。 - SQL Server
请执行schema-sqlserver.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
。
优先启动eureka-server,然后启动oauth授权模块,其他模块没有固定的启动顺序。但是如果你需要使用到web模块的定时任务功能,需要优先启动old-task模块。
测试账号:手机号18800000000,密码1234567890c
在使用过程中有任何疑问或者问题,请提交issue,我会在收到的第一时间予以回复。