From 13e16ff51a0609f7531b08afedd00cfb244dd450 Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期六, 08 十月 2022 09:17:17 +0800 Subject: [PATCH] 处理花城登录 token --- flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 51 insertions(+), 3 deletions(-) diff --git a/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java b/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java index fd6a87c..280bf8e 100644 --- a/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java +++ b/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java @@ -1,12 +1,14 @@ package com.dg.core.manager; import com.dg.core.Constant; +import io.jsonwebtoken.Claims; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.script.DigestUtils; import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer; import org.springframework.stereotype.Component; +import org.springframework.util.ObjectUtils; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -15,8 +17,8 @@ * 通过Redis存储和验证token的实现类 */ @Component -public class RedisTokenManager implements TokenManager { - +public class RedisTokenManager implements TokenManager +{ private RedisTemplate<String, String> redis; @Qualifier("redisTemplate") @@ -38,7 +40,6 @@ return token; } - public boolean checkToken(String token) { if (token == null) { return false; @@ -53,6 +54,30 @@ } + /** + * 验证花城token + * @param token + * @return + */ + @Override + public boolean checkHCToken(String token) { + if (token == null) { + return false; + } + // token解析 + Claims claims = JWTTokenUtil.getClaimsFromToken(token); + if (ObjectUtils.isEmpty(claims)) { + return false; + } + String userId = claims.getSubject(); + if (ObjectUtils.isEmpty(userId)) + { + return false; + } + return true; + } + + @Override public long getUserId(String token) { if (token == null) { @@ -62,6 +87,29 @@ return Long.parseLong(userId); } + /** + * 获取花城e+的 UserId + * @param token + * @return + */ + @Override + public long getHCUserId(String token) { + if (token == null) { + return -1; + } + // token解析 + Claims claims = JWTTokenUtil.getClaimsFromToken(token); + if (ObjectUtils.isEmpty(claims)) { + return -1; + } + String userId = claims.getSubject(); + if (ObjectUtils.isEmpty(userId)) + { + return -1; + } + return Long.parseLong(userId); + } + public void deleteToken(String token) { redis.delete(token); } -- Gitblit v1.7.1