Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
think-tank
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
think-tank
Commits
c6d3e6df
提交
c6d3e6df
authored
7月 01, 2024
作者:
yuanhaojie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
用户信息获取工具类
上级
04066645
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
116 行增加
和
0 行删除
+116
-0
pom.xml
pom.xml
+5
-0
AccessTokenUtil.java
src/main/java/com/zzsn/thinktank/util/AccessTokenUtil.java
+22
-0
TokenUtil.java
src/main/java/com/zzsn/thinktank/util/TokenUtil.java
+89
-0
没有找到文件。
pom.xml
浏览文件 @
c6d3e6df
...
@@ -109,6 +109,11 @@
...
@@ -109,6 +109,11 @@
<artifactId>
jpinyin
</artifactId>
<artifactId>
jpinyin
</artifactId>
<version>
1.1.8
</version>
<version>
1.1.8
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.auth0
</groupId>
<artifactId>
java-jwt
</artifactId>
<version>
3.18.1
</version>
</dependency>
</dependencies>
</dependencies>
...
...
src/main/java/com/zzsn/thinktank/util/AccessTokenUtil.java
0 → 100644
浏览文件 @
c6d3e6df
package
com
.
zzsn
.
thinktank
.
util
;
import
org.apache.commons.lang3.StringUtils
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author zgz
* @Version: V1.0
*/
public
class
AccessTokenUtil
{
public
static
String
getUserIdFromAccessToken
(
HttpServletRequest
request
)
throws
Exception
{
String
accesstoken
=
request
.
getHeader
(
"Accesstoken"
);
if
(
accesstoken
!=
null
){
String
userId
=
TokenUtil
.
verifyToken
(
accesstoken
);
if
(
StringUtils
.
isNotBlank
(
userId
)){
return
userId
;
}
}
throw
new
RuntimeException
(
"Invalid access token"
);
}
}
src/main/java/com/zzsn/thinktank/util/TokenUtil.java
0 → 100644
浏览文件 @
c6d3e6df
package
com
.
zzsn
.
thinktank
.
util
;
import
com.auth0.jwt.JWT
;
import
com.auth0.jwt.JWTVerifier
;
import
com.auth0.jwt.algorithms.Algorithm
;
import
com.auth0.jwt.interfaces.Claim
;
import
com.auth0.jwt.interfaces.DecodedJWT
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* token util
*
* @author yanrj 2018-7-17 13:17:11
*
*/
public
class
TokenUtil
{
/**
* createToken
*
* @param userId
* @return
* @throws Exception
*/
public
static
String
createToken
(
String
userId
,
String
timeStr
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
"alg"
,
"HS256"
);
map
.
put
(
"typ"
,
"JWT"
);
map
.
put
(
"timeStr"
,
timeStr
);
String
token
=
JWT
.
create
().
withHeader
(
map
)
// header
.
withClaim
(
"userId"
,
userId
)
// payload
.
withClaim
(
"timeStr"
,
timeStr
)
// payload
.
sign
(
Algorithm
.
HMAC256
(
"secret"
));
return
token
;
}
/**
* verifyToken
*
* @param token
* @return
* @throws Exception
*/
public
static
String
verifyToken
(
String
token
)
throws
Exception
{
JWTVerifier
verifier
=
JWT
.
require
(
Algorithm
.
HMAC256
(
"secret"
)).
build
();
DecodedJWT
jwt
=
verifier
.
verify
(
token
);
Map
<
String
,
Claim
>
claims
=
jwt
.
getClaims
();
return
claims
.
get
(
"userId"
).
asString
();
}
/**
* get token time String
*
* @param token
* @return
* @throws Exception
*/
public
static
String
getTimeStrToken
(
String
token
)
throws
Exception
{
JWTVerifier
verifier
=
JWT
.
require
(
Algorithm
.
HMAC256
(
"secret"
)).
build
();
DecodedJWT
jwt
=
verifier
.
verify
(
token
);
Map
<
String
,
Claim
>
claims
=
jwt
.
getClaims
();
return
claims
.
get
(
"timeStr"
).
asString
();
}
/**
* main
*
* @param args
* @throws Exception
*/
// public static void main(String[] args) throws Exception {
//// Long startTime = System.currentTimeMillis();
// String token = createToken("190","1578276314015");
// System.out.println(token);
//// Long midTime = System.currentTimeMillis();
//// System.out.println(midTime - startTime + "ms");
//// String userId = verifyToken(token);
//// System.out.println(userId);
//// Long endTime = System.currentTimeMillis();
//// System.out.println(endTime - midTime + "ms");
// System.out.println( verifyToken(token) );
// System.out.println( getTimeStrToken(token) );
// }
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论