Spring Security Oauth2 官方表结构解析,字段详解

spring-security-oauth官方表结构文件:

客户端详细信息表: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’.

认证授权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 记录创建时间

刷新授权Token记录表:oauth_refresh_token

对oauth_refresh_token的操作主要集中在JdbcTokenStore.java中

字段 注释 token_id RefreshToken标识:通过MD5加密refresh_token的值 token OAuth2RefreshToken.java对象序列化内容 authentication OAuth2Authentication.java对象序列化内容 create_time 记录创建时间

授权码Code记录表:oauth_code

对oauth_code的操作主要集中在JdbcAuthorizationCodeServices.java中

字段 注释 authentication AuthorizationRequestHolder.java对象序列化内容 code 存储服务端系统生成的code的值(未加密) create_time 记录创建时间
经验分享 程序员 微信小程序 职场和发展