做网站编程序,传媒公司主要做什么,如何更新网站,yy直播下载电脑版目录 一、什么是 spring-security-oauth2#xff1f;二、spring-security-oauth2 的表结构2.1 oauth_client_details 客户端详细信息表2.2 oauth_access_token 认证授权Token记录表2.3 oauth_refresh_token 刷新授权Token记录表2.4 oauth_code 授权Code记录表 一、什么是 spri… 目录 一、什么是 spring-security-oauth2二、spring-security-oauth2 的表结构2.1 oauth_client_details 客户端详细信息表2.2 oauth_access_token 认证授权Token记录表2.3 oauth_refresh_token 刷新授权Token记录表2.4 oauth_code 授权Code记录表 一、什么是 spring-security-oauth2
Spring Security OAuth2 是 Spring Security 的一个扩展模块用于支持 OAuth 2.0 协议。OAuth 2.0 是一个授权框架允许第三方应用在用户授权下访问其资源而无需共享用户凭证。
Spring Security OAuth2 提供了实现 OAuth 2.0 授权服务器、资源服务器和客户端的功能。
主要功能
授权服务器 负责颁发访问令牌Access Token。支持多种授权模式如授权码模式、密码模式、客户端凭证模式和简化模式。 资源服务器 保护受 OAuth 2.0 保护的资源。验证访问令牌并授权访问资源。 客户端 代表用户或应用访问受保护的资源。支持获取和使用访问令牌。 二、spring-security-oauth2 的表结构
spring-security-oauth2 的官方表结构文件
https://github.com/spring-projects/spring-security-oauth/blob/master/spring-security-oauth2/src/test/resources/schema.sql
-- used in tests that use HSQL
create table oauth_client_details (client_id VARCHAR(256) PRIMARY KEY,resource_ids VARCHAR(256),client_secret VARCHAR(256),scope VARCHAR(256),authorized_grant_types VARCHAR(256),web_server_redirect_uri VARCHAR(256),authorities VARCHAR(256),access_token_validity INTEGER,refresh_token_validity INTEGER,additional_information VARCHAR(4096),autoapprove VARCHAR(256)
);create table oauth_client_token (token_id VARCHAR(256),token LONGVARBINARY,authentication_id VARCHAR(256) PRIMARY KEY,user_name VARCHAR(256),client_id VARCHAR(256)
);create table oauth_access_token (token_id VARCHAR(256),token LONGVARBINARY,authentication_id VARCHAR(256) PRIMARY KEY,user_name VARCHAR(256),client_id VARCHAR(256),authentication LONGVARBINARY,refresh_token VARCHAR(256)
);create table oauth_refresh_token (token_id VARCHAR(256),token LONGVARBINARY,authentication LONGVARBINARY
);create table oauth_code (code VARCHAR(256), authentication LONGVARBINARY
);2.1 oauth_client_details 客户端详细信息表
对 oauth_client_details 表的操作主要集中在 JdbcClientDetailsService.java 类中。
字段注释client_id主键客户端IDresources_ids客户端所能访问的资源ID集合多个资源用,分隔client_secret客户端访问密钥scope客户端申请的权限范围read/write/trust多个权限用,分隔authorized_grant_types5种oauth授权方式(authorization_code;password;refresh_token;client_credentials)web_server_redirect_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_infomation这是一个预留的字段,在Oauth的流程中没有实际的使用,可选,但若设置值,必须是JSON格式的数据autoapprove设置用户是否自动批准授予权限操作, 默认值为 ‘false’, 可选值包括 ‘true’,‘false’, ‘read’,‘write’.
2.2 oauth_access_token 认证授权Token记录表
对 oauth_access_token 表的操作主要集中在 JdbcTokenStore.java 类中。
字段注释client_id认证授权客户端IDtoken_idToken标识通过MD5加密access_token的值tokenOAuth2AccessToken.java对象序列化内容user_name用户名若客户端没有用户名则该值等于client_idauthentication_id根据当前的username、client_id与scope通过MD5加密生成该字段的值authenticationOAuth2Authentication.java对象序列化内容refresh_tokenRefreshToken标识通过MD5加密refresh_token的值create_time记录创建时间
2.3 oauth_refresh_token 刷新授权Token记录表
对 oauth_refresh_token 的操作主要集中在 JdbcTokenStore.java 类中。
字段注释token_idRefreshToken标识通过MD5加密refresh_token的值tokenOAuth2RefreshToken.java对象序列化内容authenticationOAuth2Authentication.java对象序列化内容create_time记录创建时间
2.4 oauth_code 授权Code记录表
对 oauth_code 的操作主要集中在 JdbcAuthorizationCodeSerivces.java 类中。
字段注释authenticationAuthorizationRequestHolder.java对象序列化内容code存储服务端系统生成的code的值(未加密)create_time记录创建时间
整理完毕完结撒花~ 参考地址
1.Spring Security Oauth2 官方表结构解析字段详解https://blog.csdn.net/yangxiao_hui/article/details/109100140 2.Oauth2详解-介绍(一)https://www.jianshu.com/p/84a4b4a1e833