1、客户端详细信息表:oauth_client_details
对oauth_client_details的操作主要集中在JdbcClientDetailsService.java中
字段 | 注释 |
---|---|
client_id | 主键,客户端ID |
resource_ids | 客户端所能访问的资源id集合,多个资源时用逗号(,)分隔 |
client_secret | 客户端访问密匙 |
scope | 客户端申请的权限范围,可选值包括read,write,trust;若有多个权限范围用逗号(,)分隔 |
authorized_grant_types |
客户端支持的授权许可类型(grant_type),可选值包括authorization_code,password,refresh_token,implicit,client_credentials,若支持多个授权许可类型用逗号(,)分隔 |
web_server_redirect_uri | 客户端重定向URI,当grant_type为authorization_code或implicit时, 在Oauth的流程中会使用并检查与数据库内的redirect_uri是否一致 |
authorities | 客户端所拥有的Spring Security的权限值,可选, 若有多个权限值,用逗号(,)分隔 |
access_token_validity | 设定客户端的access_token的有效时间值(单位:秒),若不设定值则使用默认的有效时间值(60 60 12, 12小时) |
refresh_token_validity | 设定客户端的refresh_token的有效时间值(单位:秒),若不设定值则使用默认的有效时间值(60 60 24 * 30, 30天) |
additional_information | 这是一个预留的字段,在Oauth的流程中没有实际的使用,可选,但若设置值,必须是JSON格式的数据 |
create_time | 记录创建时间 |
autoapprove | 设置用户是否自动批准授予权限操作, 默认值为 ‘false’, 可选值包括 ‘true’,‘false’, ‘read’,‘write’ |
2、认证授权Token记录表:oauth_access_token
对oauth_access_token表的操作主要集中在JdbcTokenStore.java中
字段 | 注释 |
---|---|
client_id | 认证授权客户端ID |
token_id | Token标识:通过MD5加密access_token的值 |
token | OAuth2AccessToken.java对象序列化内容 |
user_name | 用户名,若客户端没有用户名则该值等于client_id |
authentication_id | 根据当前的username、client_id与scope通过MD5加密生成该字段的值 |
authentication | OAuth2Authentication.java对象序列化内容 |
refresh_token | RefreshToken标识:通过MD5加密refresh_token的值 |
create_time | 记录创建时间 |
3、刷新授权Token记录表:oauth_refresh_token
对oauth_refresh_token的操作主要集中在JdbcTokenStore.java中
字段 | 注释 |
---|---|
token_id | RefreshToken标识:通过MD5加密refresh_token的值 |
token | OAuth2RefreshToken.java对象序列化内容 |
authentication | OAuth2Authentication.java对象序列化内容 |
create_time | 记录创建时间 |
4、授权码Code记录表:oauth_code
对oauth_code的操作主要集中在JdbcAuthorizationCodeServices.java中
字段 | 注释 |
---|---|
authentication | AuthorizationRequestHolder.java对象序列化内容 |
code | 存储服务端系统生成的code的值(未加密) |
create_time | 记录创建时间 |