Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Pig
提交
ec9919a9
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 搜索 >>
提交
ec9919a9
编写于
6月 28, 2022
作者:
L
lbw
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
✨
Introducing new features. 使用 RetOps 包装feign 调用
上级
c6253e53
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
10 addition
and
9 deletion
+10
-9
pig-auth/src/main/java/com/pig4cloud/pig/auth/endpoint/PigTokenEndpoint.java
...ava/com/pig4cloud/pig/auth/endpoint/PigTokenEndpoint.java
+5
-2
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/RetOps.java
.../main/java/com/pig4cloud/pig/common/core/util/RetOps.java
+1
-1
pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/service/PigRemoteRegisteredClientRepository.java
...security/service/PigRemoteRegisteredClientRepository.java
+2
-2
pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/service/PigUserDetailsService.java
...ud/pig/common/security/service/PigUserDetailsService.java
+2
-4
未找到文件。
pig-auth/src/main/java/com/pig4cloud/pig/auth/endpoint/PigTokenEndpoint.java
浏览文件 @
ec9919a9
...
...
@@ -27,10 +27,12 @@ import com.pig4cloud.pig.common.core.constant.CacheConstants;
import
com.pig4cloud.pig.common.core.constant.CommonConstants
;
import
com.pig4cloud.pig.common.core.constant.SecurityConstants
;
import
com.pig4cloud.pig.common.core.util.R
;
import
com.pig4cloud.pig.common.core.util.RetOps
;
import
com.pig4cloud.pig.common.core.util.SpringContextHolder
;
import
com.pig4cloud.pig.common.security.annotation.Inner
;
import
com.pig4cloud.pig.common.security.util.OAuth2EndpointUtils
;
import
com.pig4cloud.pig.common.security.util.OAuth2ErrorCodesExpand
;
import
com.pig4cloud.pig.common.security.util.OAuthClientException
;
import
lombok.RequiredArgsConstructor
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -105,9 +107,10 @@ public class PigTokenEndpoint {
@RequestParam
(
OAuth2ParameterNames
.
CLIENT_ID
)
String
clientId
,
@RequestParam
(
OAuth2ParameterNames
.
SCOPE
)
String
scope
,
@RequestParam
(
OAuth2ParameterNames
.
STATE
)
String
state
)
{
SysOauthClientDetails
clientDetails
=
RetOps
.
of
(
clientDetailsService
.
getClientDetailsById
(
clientId
,
SecurityConstants
.
FROM_IN
)).
getData
()
.
orElseThrow
(()
->
new
OAuthClientException
(
"clientId 不合法"
));
R
<
SysOauthClientDetails
>
r
=
clientDetailsService
.
getClientDetailsById
(
clientId
,
SecurityConstants
.
FROM_IN
);
SysOauthClientDetails
clientDetails
=
r
.
getData
();
Set
<
String
>
authorizedScopes
=
StringUtils
.
commaDelimitedListToSet
(
clientDetails
.
getScope
());
modelAndView
.
addObject
(
"clientId"
,
clientId
);
modelAndView
.
addObject
(
"state"
,
state
);
...
...
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/RetOps.java
浏览文件 @
ec9919a9
...
...
@@ -103,7 +103,7 @@ public class RetOps<T> {
* @return 返回 Optional 包装的data
*/
public
Optional
<
T
>
getData
()
{
return
Optional
.
of
(
original
.
getData
());
return
Optional
.
of
Nullable
(
original
.
getData
());
}
/**
...
...
pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/service/PigRemoteRegisteredClientRepository.java
浏览文件 @
ec9919a9
...
...
@@ -85,8 +85,8 @@ public class PigRemoteRegisteredClientRepository implements RegisteredClientRepo
public
RegisteredClient
findByClientId
(
String
clientId
)
{
SysOauthClientDetails
clientDetails
=
RetOps
.
of
(
clientDetailsService
.
getClientDetailsById
(
clientId
,
SecurityConstants
.
FROM_IN
))
.
assertDataNotNull
(
result
->
new
OAuthClientException
(
"clientId 不合法"
)).
getData
().
get
(
);
.
of
(
clientDetailsService
.
getClientDetailsById
(
clientId
,
SecurityConstants
.
FROM_IN
))
.
getData
()
.
orElseThrow
(()
->
new
OAuthClientException
(
"clientId 不合法"
)
);
RegisteredClient
.
Builder
builder
=
RegisteredClient
.
withId
(
clientDetails
.
getClientId
())
.
clientId
(
clientDetails
.
getClientId
())
...
...
pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/service/PigUserDetailsService.java
浏览文件 @
ec9919a9
...
...
@@ -7,6 +7,7 @@ import com.pig4cloud.pig.admin.api.entity.SysUser;
import
com.pig4cloud.pig.common.core.constant.CommonConstants
;
import
com.pig4cloud.pig.common.core.constant.SecurityConstants
;
import
com.pig4cloud.pig.common.core.util.R
;
import
com.pig4cloud.pig.common.core.util.RetOps
;
import
org.springframework.core.Ordered
;
import
org.springframework.security.core.GrantedAuthority
;
import
org.springframework.security.core.authority.AuthorityUtils
;
...
...
@@ -48,11 +49,8 @@ public interface PigUserDetailsService extends UserDetailsService, Ordered {
* @return UserDetails
*/
default
UserDetails
getUserDetails
(
R
<
UserInfo
>
result
)
{
if
(
result
==
null
||
result
.
getData
()
==
null
)
{
throw
new
UsernameNotFoundException
(
"用户不存在"
);
}
UserInfo
info
=
RetOps
.
of
(
result
).
getData
().
orElseThrow
(()
->
new
UsernameNotFoundException
(
"用户不存在"
));
UserInfo
info
=
result
.
getData
();
Set
<
String
>
dbAuthsSet
=
new
HashSet
<>();
if
(
ArrayUtil
.
isNotEmpty
(
info
.
getRoles
()))
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录