Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Pig
提交
6fca049e
P
Pig
项目概览
int
/
Pig
上一次同步 11 个月
通知
8
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Pig
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6fca049e
编写于
9月 17, 2020
作者:
D
Don
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
⏪
Reverting RedisTokenStore #I1PYDZ
上级
f2ee77d4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
2 addition
and
81 deletion
+2
-81
pig-auth/src/main/java/com/pig4cloud/pig/auth/config/AuthorizationServerConfig.java
.../pig4cloud/pig/auth/config/AuthorizationServerConfig.java
+2
-2
pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/PigRedisTokenStore.java
...oud/pig/common/security/component/PigRedisTokenStore.java
+0
-79
未找到文件。
pig-auth/src/main/java/com/pig4cloud/pig/auth/config/AuthorizationServerConfig.java
浏览文件 @
6fca049e
...
...
@@ -18,7 +18,6 @@ package com.pig4cloud.pig.auth.config;
import
com.pig4cloud.pig.common.core.constant.CacheConstants
;
import
com.pig4cloud.pig.common.core.constant.SecurityConstants
;
import
com.pig4cloud.pig.common.security.component.PigRedisTokenStore
;
import
com.pig4cloud.pig.common.security.component.PigWebResponseExceptionTranslator
;
import
com.pig4cloud.pig.common.security.service.PigClientDetailsService
;
import
com.pig4cloud.pig.common.security.service.PigUser
;
...
...
@@ -38,6 +37,7 @@ import org.springframework.security.oauth2.config.annotation.web.configurers.Aut
import
org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer
;
import
org.springframework.security.oauth2.provider.token.TokenEnhancer
;
import
org.springframework.security.oauth2.provider.token.TokenStore
;
import
org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStore
;
import
javax.sql.DataSource
;
import
java.util.HashMap
;
...
...
@@ -85,7 +85,7 @@ public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdap
@Bean
public
TokenStore
tokenStore
()
{
PigRedisTokenStore
tokenStore
=
new
Pig
RedisTokenStore
(
redisConnectionFactory
);
RedisTokenStore
tokenStore
=
new
RedisTokenStore
(
redisConnectionFactory
);
tokenStore
.
setPrefix
(
CacheConstants
.
PROJECT_OAUTH_ACCESS
);
return
tokenStore
;
}
...
...
pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/component/PigRedisTokenStore.java
已删除
100644 → 0
浏览文件 @
f2ee77d4
/*
* Copyright (c) 2020 pig4cloud Authors. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.pig4cloud.pig.common.security.component
;
import
cn.hutool.core.util.StrUtil
;
import
com.pig4cloud.pig.common.core.constant.CacheConstants
;
import
lombok.Cleanup
;
import
org.springframework.data.redis.connection.RedisConnection
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.connection.RedisStringCommands
;
import
org.springframework.data.redis.core.types.Expiration
;
import
org.springframework.security.oauth2.common.OAuth2AccessToken
;
import
org.springframework.security.oauth2.provider.OAuth2Authentication
;
import
org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStore
;
/**
* @author lengleng
* @date 2020/8/3
* <p>
* 重写默认tokenStore 保存 username and token 关系
*/
public
class
PigRedisTokenStore
extends
RedisTokenStore
{
private
RedisConnectionFactory
connectionFactory
;
public
PigRedisTokenStore
(
RedisConnectionFactory
connectionFactory
)
{
super
(
connectionFactory
);
this
.
connectionFactory
=
connectionFactory
;
}
/**
* 序列化保存认证信息
* @param token token 详细信息
* @param authentication 认证相关信息
*/
@Override
public
void
storeAccessToken
(
OAuth2AccessToken
token
,
OAuth2Authentication
authentication
)
{
super
.
storeAccessToken
(
token
,
authentication
);
@Cleanup
RedisConnection
connection
=
connectionFactory
.
getConnection
();
// KEY
byte
[]
key
=
StrUtil
.
bytes
(
CacheConstants
.
PROJECT_OAUTH_TOKEN
+
authentication
.
getName
());
// value
byte
[]
tokenVal
=
StrUtil
.
bytes
(
token
.
getValue
());
RedisStringCommands
stringCommand
=
connection
.
stringCommands
();
stringCommand
.
set
(
key
,
tokenVal
,
Expiration
.
seconds
(
token
.
getExpiresIn
()),
RedisStringCommands
.
SetOption
.
SET_IF_ABSENT
);
}
/**
* 删除token
* @param accessToken token
*/
@Override
public
void
removeAccessToken
(
OAuth2AccessToken
accessToken
)
{
super
.
removeAccessToken
(
accessToken
);
@Cleanup
RedisConnection
connection
=
connectionFactory
.
getConnection
();
// KEY
OAuth2Authentication
authentication
=
readAuthentication
(
accessToken
);
byte
[]
key
=
StrUtil
.
bytes
(
CacheConstants
.
PROJECT_OAUTH_TOKEN
+
authentication
.
getName
());
connection
.
del
(
key
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录