Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
符节科技
Jap
提交
902041b1
Jap
项目概览
符节科技
/
Jap
10 个月 前同步成功
通知
91
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 搜索 >>
提交
902041b1
编写于
10月 21, 2021
作者:
智布道
👁
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
🐛
Fixed a bug.
上级
e90a2c27
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
34 addition
and
16 deletion
+34
-16
jap-ids/src/main/java/com/fujieid/jap/ids/service/Oauth2ServiceImpl.java
...n/java/com/fujieid/jap/ids/service/Oauth2ServiceImpl.java
+4
-1
jap-ids/src/main/java/com/fujieid/jap/ids/util/OauthUtil.java
...ids/src/main/java/com/fujieid/jap/ids/util/OauthUtil.java
+20
-8
jap-ids/src/main/java/com/fujieid/jap/ids/util/TokenUtil.java
...ids/src/main/java/com/fujieid/jap/ids/util/TokenUtil.java
+10
-7
未找到文件。
jap-ids/src/main/java/com/fujieid/jap/ids/service/Oauth2ServiceImpl.java
浏览文件 @
902041b1
...
...
@@ -30,6 +30,8 @@ import com.fujieid.jap.ids.model.enums.ErrorResponse;
import
com.fujieid.jap.ids.model.enums.GrantType
;
import
com.fujieid.jap.ids.util.OauthUtil
;
import
java.io.Serializable
;
/**
* oauth 2.0 related methods
*
...
...
@@ -89,7 +91,8 @@ public class Oauth2ServiceImpl implements Oauth2Service {
@Override
public
AuthCode
getCodeInfo
(
String
code
)
{
return
(
AuthCode
)
JapIds
.
getContext
().
getCache
().
get
(
IdsConsts
.
OAUTH_CODE_CACHE_KEY
+
code
);
Serializable
serializable
=
JapIds
.
getContext
().
getCache
().
get
(
IdsConsts
.
OAUTH_CODE_CACHE_KEY
+
code
);
return
OauthUtil
.
objToBean
(
serializable
,
AuthCode
.
class
);
}
@Override
...
...
jap-ids/src/main/java/com/fujieid/jap/ids/util/OauthUtil.java
浏览文件 @
902041b1
...
...
@@ -15,6 +15,7 @@
*/
package
com.fujieid.jap.ids.util
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.codec.Base64
;
import
cn.hutool.core.util.ArrayUtil
;
import
cn.hutool.core.util.RandomUtil
;
...
...
@@ -29,9 +30,11 @@ import com.fujieid.jap.ids.model.enums.ErrorResponse;
import
com.fujieid.jap.ids.model.enums.GrantType
;
import
com.fujieid.jap.ids.service.IdsSecretService
;
import
com.fujieid.jap.ids.service.Oauth2Service
;
import
com.xkcoding.http.util.MapUtil
;
import
com.xkcoding.json.util.StringUtil
;
import
org.jose4j.base64url.Base64Url
;
import
java.io.Serializable
;
import
java.nio.charset.StandardCharsets
;
import
java.time.LocalDateTime
;
import
java.util.*
;
...
...
@@ -257,9 +260,9 @@ public class OauthUtil {
* @param expiresIn The expiration time of the access token in the client detail
* @return long
*/
public
static
LocalDateTim
e
getAccessTokenExpiresAt
(
Long
expiresIn
)
{
public
static
Dat
e
getAccessTokenExpiresAt
(
Long
expiresIn
)
{
expiresIn
=
getAccessTokenExpiresIn
(
expiresIn
);
return
DateUtil
.
of
EpochSecond
(
System
.
currentTimeMillis
()
+
expiresIn
*
1000
,
null
);
return
DateUtil
.
of
fsetSecond
(
new
Date
(),
expiresIn
.
intValue
()
);
}
/**
...
...
@@ -268,9 +271,9 @@ public class OauthUtil {
* @param expiresIn The expiration time of the refresh token in the client detail
* @return long
*/
public
static
LocalDateTim
e
getRefreshTokenExpiresAt
(
Long
expiresIn
)
{
public
static
Dat
e
getRefreshTokenExpiresAt
(
Long
expiresIn
)
{
expiresIn
=
getRefreshTokenExpiresIn
(
expiresIn
);
return
DateUtil
.
of
EpochSecond
(
System
.
currentTimeMillis
()
+
expiresIn
*
1000
,
null
);
return
DateUtil
.
of
fsetSecond
(
new
Date
(),
expiresIn
.
intValue
()
);
}
/**
...
...
@@ -279,9 +282,9 @@ public class OauthUtil {
* @param expiresIn The expiration time of the code in the client detail
* @return long
*/
public
static
LocalDateTim
e
getCodeExpiresAt
(
Long
expiresIn
)
{
public
static
Dat
e
getCodeExpiresAt
(
Long
expiresIn
)
{
expiresIn
=
getCodeExpiresIn
(
expiresIn
);
return
DateUtil
.
of
EpochSecond
(
System
.
currentTimeMillis
()
+
expiresIn
*
1000
,
null
);
return
DateUtil
.
of
fsetSecond
(
new
Date
(),
expiresIn
.
intValue
()
);
}
/**
...
...
@@ -290,9 +293,9 @@ public class OauthUtil {
* @param expiresIn The expiration time of the id token in the client detail
* @return long
*/
public
static
LocalDateTim
e
getIdTokenExpiresAt
(
Long
expiresIn
)
{
public
static
Dat
e
getIdTokenExpiresAt
(
Long
expiresIn
)
{
expiresIn
=
getIdTokenExpiresIn
(
expiresIn
);
return
DateUtil
.
of
EpochSecond
(
System
.
currentTimeMillis
()
+
expiresIn
*
1000
,
null
);
return
DateUtil
.
of
fsetSecond
(
new
Date
(),
expiresIn
.
intValue
()
);
}
/**
...
...
@@ -384,4 +387,13 @@ public class OauthUtil {
return
Base64Url
.
encode
(
RandomUtil
.
randomString
(
50
),
"UTF-8"
);
}
public
static
<
T
>
T
objToBean
(
Serializable
serializable
,
Class
<
T
>
clazz
)
{
if
(
serializable
.
getClass
()
==
clazz
)
{
return
(
T
)
serializable
;
}
if
(
serializable
instanceof
Map
)
{
return
BeanUtil
.
mapToBean
((
Map
)
serializable
,
clazz
,
false
,
null
);
}
return
null
;
}
}
jap-ids/src/main/java/com/fujieid/jap/ids/util/TokenUtil.java
浏览文件 @
902041b1
...
...
@@ -27,8 +27,9 @@ import com.fujieid.jap.ids.model.enums.TokenAuthMethod;
import
com.fujieid.jap.ids.service.IdsTokenService
;
import
com.xkcoding.json.util.StringUtil
;
import
java.
time.LocalDateTim
e
;
import
java.
io.Serializabl
e
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -189,9 +190,9 @@ public class TokenUtil {
throw
new
InvalidTokenException
(
ErrorResponse
.
INVALID_TOKEN
);
}
LocalDateTime
nowDateTime
=
DateUtil
.
now
Date
();
Date
nowDate
=
new
Date
();
if
(
token
.
getAccessTokenExpiration
().
isBefore
(
nowDateTim
e
))
{
if
(
token
.
getAccessTokenExpiration
().
before
(
nowDat
e
))
{
throw
new
InvalidTokenException
(
ErrorResponse
.
EXPIRED_TOKEN
);
}
...
...
@@ -205,9 +206,9 @@ public class TokenUtil {
throw
new
InvalidTokenException
(
ErrorResponse
.
INVALID_TOKEN
);
}
LocalDateTime
nowDateTime
=
DateUtil
.
now
Date
();
Date
nowDate
=
new
Date
();
if
(
token
.
getRefreshTokenExpiration
().
isBefore
(
nowDateTim
e
))
{
if
(
token
.
getRefreshTokenExpiration
().
before
(
nowDat
e
))
{
throw
new
InvalidTokenException
(
ErrorResponse
.
EXPIRED_TOKEN
);
}
}
...
...
@@ -218,7 +219,8 @@ public class TokenUtil {
}
accessToken
=
BearerToken
.
parse
(
accessToken
);
String
token
=
IdsConsts
.
OAUTH_ACCESS_TOKEN_CACHE_KEY
+
accessToken
;
return
(
AccessToken
)
JapIds
.
getContext
().
getCache
().
get
(
token
);
Serializable
serializable
=
JapIds
.
getContext
().
getCache
().
get
(
token
);
return
OauthUtil
.
objToBean
(
serializable
,
AccessToken
.
class
);
}
public
static
AccessToken
getByRefreshToken
(
String
refreshToken
)
{
...
...
@@ -226,6 +228,7 @@ public class TokenUtil {
return
null
;
}
String
token
=
IdsConsts
.
OAUTH_REFRESH_TOKEN_CACHE_KEY
+
refreshToken
;
return
(
AccessToken
)
JapIds
.
getContext
().
getCache
().
get
(
token
);
Serializable
serializable
=
JapIds
.
getContext
().
getCache
().
get
(
token
);
return
OauthUtil
.
objToBean
(
serializable
,
AccessToken
.
class
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录