Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
符节科技
Jap
提交
fa2e9018
Jap
项目概览
符节科技
/
Jap
8 个月 前同步成功
通知
90
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Jap
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
fa2e9018
编写于
1月 29, 2021
作者:
智布道
👁
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
⬆
The simple-json dependency is upgraded to version 0.0.2
上级
a764efb1
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
26 addition
and
30 deletion
+26
-30
jap-oauth2/src/main/java/com/fujieid/jap/oauth2/Oauth2Strategy.java
.../src/main/java/com/fujieid/jap/oauth2/Oauth2Strategy.java
+2
-1
jap-oauth2/src/main/java/com/fujieid/jap/oauth2/Oauth2Util.java
...uth2/src/main/java/com/fujieid/jap/oauth2/Oauth2Util.java
+4
-4
jap-oauth2/src/main/java/com/fujieid/jap/oauth2/token/AccessTokenHelper.java
.../java/com/fujieid/jap/oauth2/token/AccessTokenHelper.java
+19
-24
pom.xml
pom.xml
+1
-1
未找到文件。
jap-oauth2/src/main/java/com/fujieid/jap/oauth2/Oauth2Strategy.java
浏览文件 @
fa2e9018
...
...
@@ -29,6 +29,7 @@ import com.google.common.collect.ImmutableMap;
import
com.google.common.collect.Maps
;
import
com.xkcoding.http.HttpUtil
;
import
com.xkcoding.json.JsonUtil
;
import
com.xkcoding.json.util.Kv
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
...
...
@@ -110,7 +111,7 @@ public class Oauth2Strategy extends AbstractJapStrategy {
private
JapUser
getUserInfo
(
OAuthConfig
oAuthConfig
,
AccessToken
accessToken
)
{
String
userinfoResponse
=
HttpUtil
.
post
(
oAuthConfig
.
getUserinfoUrl
(),
ImmutableMap
.
of
(
"access_token"
,
accessToken
.
getAccessToken
()),
false
);
Map
<
String
,
Object
>
userinfo
=
JsonUtil
.
toBean
(
userinfoResponse
,
Map
.
class
);
Kv
userinfo
=
JsonUtil
.
parseKv
(
userinfoResponse
);
Oauth2Util
.
checkOauthResponse
(
userinfoResponse
,
userinfo
,
"Oauth2Strategy failed to get userinfo with accessToken."
);
...
...
jap-oauth2/src/main/java/com/fujieid/jap/oauth2/Oauth2Util.java
浏览文件 @
fa2e9018
...
...
@@ -22,11 +22,11 @@ import cn.hutool.crypto.SecureUtil;
import
com.fujieid.jap.core.cache.JapCacheContextHolder
;
import
com.fujieid.jap.core.exception.JapOauth2Exception
;
import
com.fujieid.jap.oauth2.pkce.PkceCodeChallengeMethod
;
import
com.xkcoding.json.util.Kv
;
import
org.jose4j.base64url.Base64Url
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.Serializable
;
import
java.util.Map
;
import
java.util.Optional
;
/**
...
...
@@ -70,10 +70,10 @@ public class Oauth2Util {
}
}
public
static
void
checkOauthResponse
(
String
responseStr
,
Map
<
String
,
?>
responseMap
,
String
errorMsg
)
{
if
(
response
Map
.
containsKey
(
"error"
)
&&
ObjectUtil
.
isNotEmpty
(
responseMap
.
get
(
"error"
)))
{
public
static
void
checkOauthResponse
(
String
responseStr
,
Kv
responseKv
,
String
errorMsg
)
{
if
(
response
Kv
.
containsKey
(
"error"
)
&&
ObjectUtil
.
isNotEmpty
(
responseKv
.
get
(
"error"
)))
{
throw
new
JapOauth2Exception
(
Optional
.
ofNullable
(
errorMsg
).
orElse
(
""
)
+
response
Map
.
get
(
"error_description"
)
+
" "
+
responseStr
);
response
Kv
.
get
(
"error_description"
)
+
" "
+
responseStr
);
}
}
...
...
jap-oauth2/src/main/java/com/fujieid/jap/oauth2/token/AccessTokenHelper.java
浏览文件 @
fa2e9018
...
...
@@ -26,6 +26,7 @@ import com.fujieid.jap.oauth2.pkce.PkceParams;
import
com.google.common.collect.Maps
;
import
com.xkcoding.http.HttpUtil
;
import
com.xkcoding.json.JsonUtil
;
import
com.xkcoding.json.util.Kv
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Map
;
...
...
@@ -91,14 +92,14 @@ public class AccessTokenHelper {
}
String
tokenResponse
=
HttpUtil
.
post
(
oAuthConfig
.
getTokenUrl
(),
params
,
false
);
Map
<
String
,
Object
>
tokenMap
=
JsonUtil
.
toBean
(
tokenResponse
,
Map
.
class
);
Oauth2Util
.
checkOauthResponse
(
tokenResponse
,
token
Map
,
"Oauth2Strategy failed to get AccessToken."
);
Kv
tokenInfo
=
JsonUtil
.
parseKv
(
tokenResponse
);
Oauth2Util
.
checkOauthResponse
(
tokenResponse
,
token
Info
,
"Oauth2Strategy failed to get AccessToken."
);
if
(!
token
Map
.
containsKey
(
"access_token"
))
{
if
(!
token
Info
.
containsKey
(
"access_token"
))
{
throw
new
JapOauth2Exception
(
"Oauth2Strategy failed to get AccessToken."
+
tokenResponse
);
}
return
mapToAccessToken
(
token
Map
);
return
mapToAccessToken
(
token
Info
);
}
/**
...
...
@@ -143,13 +144,13 @@ public class AccessTokenHelper {
}
String
url
=
oAuthConfig
.
getTokenUrl
();
String
tokenResponse
=
HttpUtil
.
post
(
url
,
params
,
false
);
Map
<
String
,
Object
>
tokenMap
=
JsonUtil
.
toBean
(
tokenResponse
,
Map
.
class
);
Oauth2Util
.
checkOauthResponse
(
tokenResponse
,
token
Map
,
"Oauth2Strategy failed to get AccessToken."
);
Kv
tokenInfo
=
JsonUtil
.
parseKv
(
tokenResponse
);
Oauth2Util
.
checkOauthResponse
(
tokenResponse
,
token
Info
,
"Oauth2Strategy failed to get AccessToken."
);
if
(!
token
Map
.
containsKey
(
"access_token"
))
{
if
(!
token
Info
.
containsKey
(
"access_token"
))
{
throw
new
JapOauth2Exception
(
"Oauth2Strategy failed to get AccessToken."
+
tokenResponse
);
}
return
mapToAccessToken
(
token
Map
);
return
mapToAccessToken
(
token
Info
);
}
/**
...
...
@@ -168,29 +169,23 @@ public class AccessTokenHelper {
String
url
=
oAuthConfig
.
getTokenUrl
();
String
tokenResponse
=
HttpUtil
.
post
(
url
,
params
,
false
);
Map
<
String
,
Object
>
tokenMap
=
JsonUtil
.
toBean
(
tokenResponse
,
Map
.
class
);
Oauth2Util
.
checkOauthResponse
(
tokenResponse
,
token
Map
,
"Oauth2Strategy failed to get AccessToken."
);
Kv
tokenInfo
=
JsonUtil
.
parseKv
(
tokenResponse
);
Oauth2Util
.
checkOauthResponse
(
tokenResponse
,
token
Info
,
"Oauth2Strategy failed to get AccessToken."
);
if
(
ObjectUtil
.
isEmpty
(
request
.
getParameter
(
"access_token"
)))
{
throw
new
JapOauth2Exception
(
"Oauth2Strategy failed to get AccessToken."
);
}
return
mapToAccessToken
(
token
Map
);
return
mapToAccessToken
(
token
Info
);
}
private
static
AccessToken
mapToAccessToken
(
Map
<
String
,
Object
>
tokenMap
)
{
Object
accessToken
=
tokenMap
.
get
(
"access_token"
);
Object
refreshToken
=
tokenMap
.
get
(
"refresh_token"
);
Object
idToken
=
tokenMap
.
get
(
"id_token"
);
Object
tokenType
=
tokenMap
.
get
(
"token_type"
);
Object
expiresIn
=
tokenMap
.
get
(
"expires_in"
);
Object
scope
=
tokenMap
.
get
(
"scope"
);
private
static
AccessToken
mapToAccessToken
(
Kv
tokenMap
)
{
return
new
AccessToken
()
.
setAccessToken
(
JapUtil
.
convertToStr
(
accessToken
))
.
setRefreshToken
(
JapUtil
.
convertToStr
(
refreshToken
))
.
setIdToken
(
JapUtil
.
convertToStr
(
idToken
))
.
setTokenType
(
JapUtil
.
convertToStr
(
tokenType
))
.
setScope
(
JapUtil
.
convertToStr
(
scope
))
.
setExpiresIn
(
JapUtil
.
convertToInt
(
expiresIn
));
.
setAccessToken
(
tokenMap
.
getString
(
"access_token"
))
.
setRefreshToken
(
tokenMap
.
getString
(
"refresh_token"
))
.
setIdToken
(
tokenMap
.
getString
(
"id_token"
))
.
setTokenType
(
tokenMap
.
getString
(
"token_type"
))
.
setScope
(
tokenMap
.
getString
(
"scope"
))
.
setExpiresIn
(
tokenMap
.
getInteger
(
"expires_in"
));
}
}
pom.xml
浏览文件 @
fa2e9018
...
...
@@ -72,7 +72,7 @@
<slf4j-api.version>
1.7.30
</slf4j-api.version>
<jedis.version>
3.2.0
</jedis.version>
<kisso.version>
3.7.6
</kisso.version>
<simple-json.version>
0.0.
1
</simple-json.version>
<simple-json.version>
0.0.
2
</simple-json.version>
<simple-http.version>
1.0.3
</simple-http.version>
</properties>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录