配置参数列表
ApiBoot
在整合SpringSecurity
、Oauth2
时把配置参数进行了分离,配置列表如下所示:
整合SpringSecurity配置列表
整合Oauth2配置列表
配置名称 | 介绍 | 默认值 | 绑定away |
---|---|---|---|
api.boot.oauth.away | Oauth存储Token、读取Client信息方式 | memory | all |
api.boot.oauth.cleint-id | Oauth2 Client ID | ApiBoot | memory |
api.boot.oauth.client-secret | Oauth2 Client Secret | ApiBootSecret | memory |
api.boot.oauth.grant-types | 客户端授权方式 | Srtring[]{"password"} | memory |
api.boot.oauth.scopes | 客户端作用域 | String[]{"api"} | memory |
api.boot.oauth.jwt.enable | 是否启用JWT格式化AccessToken | false | memory/jdbc |
api.boot.oauth.jwt.sign-key | 使用JWT格式化AccessToken时的签名 | ApiBoot | memory/jdbc |
ApiBoot
在整合、Oauth2
时配置进行了分离,也就意味着我们可以让SpringSecurity
读取内存用户、Oauth2
将生成的AccessToken
存放到数据库
,当然反过来也是可以的,相互不影响!!!
Spring Security
ApiBoot
在整合Spring Security
的内存方式时,仅仅需要配置api.boot.security.users
用户列表参数即可,就是这么的简单,
配置用户示例如下所示:
- api:
- boot:
- security:
- # Spring Security 内存方式用户列表示例
- users:
- - username: hengboy
- password: 123456
- - username: apiboot
- password: abc321
api.boot.security.users
是一个List<SecurityUser>
类型的集合,所以这里可以配置多个用户。
Oauth2
Jdbc方式
Spring Security
默认用户表
ApiBoot
在整合Spring Security
的Jdbc方式时,在使用ApiBoot
提供的默认结构用户表时只需要修改api.boot.security.away: jdbc
即可,ApiBoot
提供的用户表结构如下所示:
自定义用户表
如果你的系统已经存在了自定义用户表结构,ApiBoot
是支持的,而且很简单就可以完成整合,我们需要先修改api.boot.security.enable-default-store-delegate
参数为false
,如下所示:
- api:
- security:
- # Spring Security jdbc方式用户列表示例
- enable-default-store-delegate: false
- away: jdbc
添加接口实现类,如下所示:
Oauth2
创建Oauth所需表结构
Oauth2
如果使用Jdbc
方式进行存储access_token
、client_details
时,需要在数据库内初始化Oauth2
所需相关表结构,
添加客户端数据
初始化Oauth2
表结构后,需要向oauth_client_details
表内添加一个客户端信息,下面是对应ApiBoot Security Oauth
配置信息的数据初始化,如下所示:
- INSERT INTO `oauth_client_details` VALUES ('ApiBoot','api','$2a$10$M5t8t1fHatAj949RCHHB/.j1mrNAbxIz.mOYJQbMCcSPwnBMJLmMK','api','password',NULL,NULL,7200,7200,NULL,NULL);
在上面memory/jdbc
两种方式已经配置完成,接下来我们就可以获取access_token
。
通过CURL获取
启用JWT
- api:
- boot:
- oauth:
- jwt:
- # 开启Jwt转换AccessToken
- enable: true
- sign-key: 恒宇少年 - 于起宇
默认不启用JWT
,签名建议进行更换。