spring security oAuth2.0 数据库说明

话不多说,直接上代码。

里面每一个字段都有说明,直接将它们放入mysql执行即可添加成功。

create table oauth_access_token
(
    token_id          varchar(256) null comment ‘MD5加密的access_token的值‘,
    token             blob         null comment ‘OAuth2AccessToken.java对象序列化后的二进制数据‘,
    authentication_id varchar(256) not null comment ‘MD5加密过的username,client_id,scope‘
        primary key,
    user_name         varchar(256) null comment ‘登录的用户名‘,
    client_id         varchar(256) null comment ‘客户端ID‘,
    authentication    blob         null comment ‘OAuth2Authentication.java对象序列化后的二进制数据‘,
    refresh_token     varchar(256) null comment ‘MD5加密后的refresh_token的值‘
)
    comment ‘访问令牌‘ charset = utf8;

create table oauth_approvals
(
    userId         varchar(256) null comment ‘登录的用户名‘,
    clientId       varchar(256) null comment ‘客户端ID‘,
    scope          varchar(256) null comment ‘申请的权限‘,
    status         varchar(10)  null comment ‘状态(Approve或Deny)‘,
    expiresAt      datetime     null comment ‘过期时间‘,
    lastModifiedAt datetime     null comment ‘最终修改时间‘
)
    comment ‘授权记录‘ charset = utf8;

create table oauth_client_details
(
    client_id               varchar(128)  not null comment ‘客户端ID‘
        primary key,
    resource_ids            varchar(256)  null comment ‘资源ID集合,多个资源时用英文逗号分隔‘,
    client_secret           varchar(256)  null comment ‘客户端密匙‘,
    scope                   varchar(256)  null comment ‘客户端申请的权限范围‘,
    authorized_grant_types  varchar(256)  null comment ‘客户端支持的grant_type‘,
    web_server_redirect_uri varchar(256)  null comment ‘重定向URI‘,
    authorities             varchar(256)  null comment ‘客户端所拥有的SpringSecurity的权限值,多个用英文逗号分隔‘,
    access_token_validity   int           null comment ‘访问令牌有效时间值(单位秒)‘,
    refresh_token_validity  int           null comment ‘更新令牌有效时间值(单位秒)‘,
    additional_information  varchar(4096) null comment ‘预留字段‘,
    autoapprove             varchar(256)  null comment ‘用户是否自动Approval操作‘
)
    comment ‘客户端信息‘ charset = utf8;

create table oauth_client_token
(
    token_id          varchar(256) null comment ‘MD5加密的access_token值‘,
    token             blob         null comment ‘OAuth2AccessToken.java对象序列化后的二进制数据‘,
    authentication_id varchar(128) not null comment ‘MD5加密过的username,client_id,scope‘
        primary key,
    user_name         varchar(256) null comment ‘登录的用户名‘,
    client_id         varchar(256) null comment ‘客户端ID‘
)
    comment ‘该表用于在客户端系统中存储从服务端获取的token数据‘ charset = utf8;

create table oauth_code
(
    code           varchar(256) null comment ‘授权码(未加密)‘,
    authentication blob         null comment ‘AuthorizationRequestHolder.java对象序列化后的二进制数据‘
)
    comment ‘授权码‘ charset = utf8;

create table oauth_refresh_token
(
    token_id       varchar(256) null comment ‘MD5加密过的refresh_token的值‘,
    token          blob         null comment ‘OAuth2RefreshToken.java对象序列化后的二进制数据‘,
    authentication blob         null comment ‘OAuth2Authentication.java对象序列化后的二进制数据‘
)
    comment ‘更新令牌‘ charset = utf8;

原文地址:https://www.cnblogs.com/chenyangsocool/p/12190150.html

时间: 2024-10-05 23:53:24

spring security oAuth2.0 数据库说明的相关文章

springboot+spring security +oauth2.0 demo搭建(password模式)(认证授权端与资源服务端分离的形式)

项目security_simple(认证授权项目) 1.新建springboot项目 这儿选择springboot版本我选择的是2.0.6 点击finish后完成项目的创建 2.引入maven依赖  下面是我引入的依赖 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&q

【OAuth2.0】Spring Security OAuth2.0篇之初识

不吐不快 因为项目需求开始接触OAuth2.0授权协议.断断续续接触了有两周左右的时间.不得不吐槽的,依然是自己的学习习惯问题,总是着急想了解一切,习惯性地钻牛角尖去理解小的细节,而不是从宏观上去掌握,或者说先用起来(少年,一辈子辣么长,你这么着急合适吗?).好在前人们已经做好了很好的demo,我自己照着抄一抄也就理解了大概如何用,依旧手残党,依旧敲不出好代码.忏悔- WHAT? 项目之中实际使用OAuth2.0实现是用的Spring Security OAuth2.0,一套基于Spring S

spring security oauth2.0 实现

oauth应该属于security的一部分.关于oauth的的相关知识可以查看阮一峰的文章:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 一.目标 现在很多系统都支持第三方账号密码等登陆我们自己的系统,例如:我们经常会看到,一些系统使用微信账号,微博账号.QQ账号等登陆自己的系统,我们现在就是要模拟这种登陆的方式,很多大的公司已经实现了这种授权登陆的方式,并提供了相应的API,供我们开发人员调用.他们实际上用的也规范是oauth2.0

Spring Security 入门(1-3)Spring Security oauth2.0 指南

入门 这是支持OAuth2.0的用户指南.对于OAuth1.0,一切都是不同的,所以看它的用户指南. 本用户指南分为两个部分,第一部分是OAuth2.0提供端(OAuth 2.0 Provider),第二部分是OAuth2.0的客户端(OAuth 2.0 Client) OAuth2.0提供端 OAuth2.0的提供端的用途是负责将受保护的资源暴露出去.建立一个可以访问受保护的资源的客户端列表. 提供端是通过管理和验证可用于访问受保护的资源的OAuth 2令牌来做的. 在适当的地方,提供端必须为

spring security oauth2.0 实现 解决url-pattern .do .action

参考以下两个文章: http://www.cnblogs.com/0201zcr/p/5328847.html http://wwwcomy.iteye.com/blog/2230265 web.xml 注意这里的<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>   <url-pattern>/*</url-pattern>  而<serv

OAuth2.0学习(4-99)Spring Security OAuth2.0 开发指南

1.org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter              org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter              org.springframework.security.oauth2.client.fil

OAuth2.0学习(4-1)Spring Security OAuth2.0 - 代码分析

1.org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter              org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter              org.springframework.security.oauth2.client.fil

spring security oauth2 jwt 认证和资源分离的配置文件(java类配置版)

最近再学习spring security oauth2.下载了官方的例子sparklr2和tonr2进行学习.但是例子里包含的东西太多,不知道最简单最主要的配置有哪些.所以决定自己尝试搭建简单版本的例子.学习的过程中搭建了认证和资源在一个工程的例子,将token存储在数据库的例子等等 .最后做了这个认证和资源分离的jwt tokens版本.网上找了一些可用的代码然后做了一个整理, 同时测试了哪些代码是必须的.可能仍有一些不必要的代码在,欢迎大家赐教. 一.创建三个spring boot 工程,分

Spring security oauth2最简单入门环境搭建

关于OAuth2的一些简介,见我的上篇blog:http://wwwcomy.iteye.com/blog/2229889 PS:貌似内容太水直接被鹳狸猿干沉.. 友情提示 学习曲线:spring+spring mvc+spring security+Oauth2基本姿势,如果前面都没看过请及时关闭本网页. 我有信心我的这个blog应该是迄今为止使用spring security oauth2最简单的hello world app介绍了,如果你下下来附件源码还看不懂,请留言.. 其他能搜到的如h