From 5fbe1b6c8f7dc921d2f87d862c11262189fdeb39 Mon Sep 17 00:00:00 2001 From: topsun Date: Wed, 19 Apr 2023 15:35:16 +0800 Subject: [PATCH] =?UTF-8?q?=20=E6=A0=A1=E9=AA=8C=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E7=A0=81=E6=8E=A5=E5=8F=A3=E6=94=B9=E9=80=A0=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=8F=8Ctoken?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interceptor/InterceptorConfig.java | 1 + .../interceptor/JwtInterceptor.java | 3 ++- .../service/VerificationCodeService.java | 22 ++++++++++++------ .../service/VerificationCodeService.class | Bin 4456 -> 4697 bytes .../internal/contant/IdentityConstant.java | 1 + .../com/internal/contant/TokenConstant.java | 15 ++++++++++++ .../internal/response/CheckCodeResponse.java | 3 ++- .../main/java/com/internal/util/JwtUtils.java | 7 ++++-- .../com/internal/util/RedisPrefixUtils.java | 4 ++-- 9 files changed, 43 insertions(+), 13 deletions(-) create mode 100644 online-taxi-public/internal-common/src/main/java/com/internal/contant/TokenConstant.java diff --git a/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/interceptor/InterceptorConfig.java b/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/interceptor/InterceptorConfig.java index aa31e3f..06a371a 100644 --- a/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/interceptor/InterceptorConfig.java +++ b/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/interceptor/InterceptorConfig.java @@ -23,6 +23,7 @@ public class InterceptorConfig implements WebMvcConfigurer { registry.addInterceptor(jwtInterceptor()) .addPathPatterns("/**")//拦截的路径 .excludePathPatterns("/noauthTest") + .excludePathPatterns("/user") .excludePathPatterns("/verification-code-check") .excludePathPatterns("/verification-code");//不拦截的路径 diff --git a/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/interceptor/JwtInterceptor.java b/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/interceptor/JwtInterceptor.java index 134d51d..0ac081f 100644 --- a/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/interceptor/JwtInterceptor.java +++ b/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/interceptor/JwtInterceptor.java @@ -1,6 +1,7 @@ package com.taxi.apipassenger.interceptor; import com.auth0.jwt.exceptions.TokenExpiredException; +import com.internal.contant.TokenConstant; import com.internal.dto.ResponseResult; import com.internal.dto.TokenResult; import com.internal.util.JwtUtils; @@ -48,7 +49,7 @@ public class JwtInterceptor implements HandlerInterceptor { //拼接tokenKey String phone = tokenResult.getPassengerPhone(); String identity = tokenResult.getIdentity(); - String tokenKey = RedisPrefixUtils.getTokenPrefixKey(phone,identity); + String tokenKey = RedisPrefixUtils.getTokenPrefixKey(phone,identity, TokenConstant.ACCESS_TOKEN_TYPE); //从redis中取出token String redisToke = stringRedisTemplate.opsForValue().get(tokenKey); if(StringUtils.isBlank(redisToke)){ diff --git a/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/service/VerificationCodeService.java b/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/service/VerificationCodeService.java index d1ce1e9..cda9a3e 100644 --- a/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/service/VerificationCodeService.java +++ b/online-taxi-public/api-passenger/src/main/java/com/taxi/apipassenger/service/VerificationCodeService.java @@ -2,6 +2,7 @@ package com.taxi.apipassenger.service; import com.internal.contant.CommonStatusEnum; import com.internal.contant.IdentityConstant; +import com.internal.contant.TokenConstant; import com.internal.dto.ResponseResult; import com.internal.request.VerificationCodeDTO; import com.internal.response.CheckCodeResponse; @@ -68,16 +69,23 @@ public class VerificationCodeService { verificationCodeDTO.setPassengerPhone(passenegerPhone); servicePassengerUserClient.loginOrReg(verificationCodeDTO); //四、颁发令牌 - String token = JwtUtils.generatorToken(passenegerPhone, - IdentityConstant.PASSENGER_IDENTITY); + String accessToken = JwtUtils.generatorToken(passenegerPhone, + IdentityConstant.PASSENGER_IDENTITY, TokenConstant.ACCESS_TOKEN_TYPE); + String refreshToken = JwtUtils.generatorToken(passenegerPhone, + IdentityConstant.PASSENGER_IDENTITY,TokenConstant.REFRESH_TOKEN_TYPE); - //将token存入redis - String tokenKey = RedisPrefixUtils.getTokenPrefixKey(passenegerPhone, - IdentityConstant.PASSENGER_IDENTITY); - stringRedisTemplate.opsForValue().set(tokenKey,token,30,TimeUnit.DAYS); + //将accesstoken存入redis + String accessTokenKey = RedisPrefixUtils.getTokenPrefixKey(passenegerPhone, + IdentityConstant.PASSENGER_IDENTITY,TokenConstant.ACCESS_TOKEN_TYPE); + stringRedisTemplate.opsForValue().set(accessTokenKey,accessToken,30,TimeUnit.DAYS); + //将refreshToken存入redis + String refreshTokenKey = RedisPrefixUtils.getTokenPrefixKey(passenegerPhone, + IdentityConstant.PASSENGER_IDENTITY,TokenConstant.REFRESH_TOKEN_TYPE); + stringRedisTemplate.opsForValue().set(refreshTokenKey,refreshToken,31,TimeUnit.DAYS); CheckCodeResponse checkCodeResponse = new CheckCodeResponse(); - checkCodeResponse.setToken(token); + checkCodeResponse.setAccessToken(accessToken); + checkCodeResponse.setRefreshToken(refreshToken); return ResponseResult.success(checkCodeResponse); } } else { diff --git a/online-taxi-public/api-passenger/target/classes/com/taxi/apipassenger/service/VerificationCodeService.class b/online-taxi-public/api-passenger/target/classes/com/taxi/apipassenger/service/VerificationCodeService.class index dd3782e6422dcb7f11340ad4e3c6f4c3b7a1feb9..4d0d81cf204b5a00678e95e906b82b82af37698b 100644 GIT binary patch delta 1356 zcmZXUYgANK6vuz_Ja_IKU^#0{r(9s9MS!eaV8UdenLQ-36d$0KNF$Op7=xwu7|Ezm zd)~5_m1UMn3W6evX-_SC+tUw~Uo!e4t<~~Vt5*ArOv_bw?%I2w{rI1A{(H|I$UQzL zdGzo72Z0iPu!+(TUk*QpNA#9&>0eJqivZdw|PyU@+C#m%wAlA&ehS;5NKN*7t_xU<>2!qw)C z^3?>Va;4%`&1-CSR{ILidtI}IH#C^eYZ%-sYg@5btQ-Q<>bcpfzHms1Ff2m&8d#^iHkfZ?#&BnJ~f^SCM!PE ze9jlnkHL}7Bo+3!$aPKxhv%etnA#LiwA9606klq-;+W=ZBfg>ES)>XxzBM4<8F7g3 zdp4*+pKH34;T`LY_J*Au8AYQq6S0;lXS19oj+tkOc7D#7Jflpe5IndIXSldrR({dt zW{AxB{^t{t{^Rq=S~?+eniJ1F=c22IFkm=Wi>)OBKCar94@4kJUK%?F^WYVa_gWtPdj_ECir>^57X%kW|b#H`F#{b{RN@C zP@%DuvBWnnYUS@{STCW774e5D>gJMtjPNs*IW8JV#{&@+W_&u{PjSs&N}_hej`(|- zAWHReX~gbhVpliWq0(MPi|*t6F62+;!BBKFBSe-831wnM883~B%0(;WS1C=JC9_*A zEvT2vG)l#CAu1_^v7iQYa1O_q%W>v$f*MY;fK%L*qIj7QP|q5P)W|+b z8U!&}CA_pt!hGRVz5=q*0vx<}6vlt=%)E2XymJ~&8mk5?rCM^YY9cW-2~|P0l&YjIDKTY~mL$Ch=`=`h z>QaZgw5mwy1-Z4!q^St1Xz|@2K;u)tvsm^?=?7+JJ?ET#_I~!WpE*Cz7@wXw`Pb1= zpn@L*fuqo4 zXk(3LtuNf}6N<5p^>Lo2-ElqRcF!t0GMWtm7m{(XF-9lPX`T;ceZl2*DK-U6r^&%) z$Gj!ZR<KHJuYrdwX97yr^r&(O_BhL72=IAA!)A;Yy?r})J1DW7?u=rQ!t zr|35faM*B!LBkMP`%|>Aa+v*wql_qy89ry!d2;l)k@?cC*3LVxJyR!<0&x&|7n;kY zWCqiiDT=O;9z~=mn;@ycJ&m-GI1abFiF)D6=WcH17U7%5t@2$U)74PIZE_o7p=7%D zXR{Vb*6kAUJt=lV?jU!uQzHAFA~`0(F}rYbrN5!{1nqY78EU%sZmBKZyaJ)QYUmGI>?m?on>}!KLvSL4RVRBSuX7r>M(VJiwN7svi_(Zw1hFC^6?6W)bI+yNTr mN-!dNAcxSOEK}SozdwY^85s*r7}+4(kZ5pt|G78y0Q?Q-7}azD diff --git a/online-taxi-public/internal-common/src/main/java/com/internal/contant/IdentityConstant.java b/online-taxi-public/internal-common/src/main/java/com/internal/contant/IdentityConstant.java index 35261f2..0b84e00 100644 --- a/online-taxi-public/internal-common/src/main/java/com/internal/contant/IdentityConstant.java +++ b/online-taxi-public/internal-common/src/main/java/com/internal/contant/IdentityConstant.java @@ -11,4 +11,5 @@ public class IdentityConstant { public static final String PASSENGER_IDENTITY = "1"; public static final String DRIVER_IDENTITY = "2"; + } diff --git a/online-taxi-public/internal-common/src/main/java/com/internal/contant/TokenConstant.java b/online-taxi-public/internal-common/src/main/java/com/internal/contant/TokenConstant.java new file mode 100644 index 0000000..5a81dc1 --- /dev/null +++ b/online-taxi-public/internal-common/src/main/java/com/internal/contant/TokenConstant.java @@ -0,0 +1,15 @@ +package com.internal.contant; + +/** + * TOKEN标识 + */ +public class TokenConstant { + + /** + * 乘客 + */ + public static final String ACCESS_TOKEN_TYPE = "accessToken"; + + public static final String REFRESH_TOKEN_TYPE = "refreshToken"; + +} diff --git a/online-taxi-public/internal-common/src/main/java/com/internal/response/CheckCodeResponse.java b/online-taxi-public/internal-common/src/main/java/com/internal/response/CheckCodeResponse.java index 933d9df..24b324e 100644 --- a/online-taxi-public/internal-common/src/main/java/com/internal/response/CheckCodeResponse.java +++ b/online-taxi-public/internal-common/src/main/java/com/internal/response/CheckCodeResponse.java @@ -6,6 +6,7 @@ import lombok.Data; public class CheckCodeResponse { - private String token; + private String accessToken; + private String refreshToken; } diff --git a/online-taxi-public/internal-common/src/main/java/com/internal/util/JwtUtils.java b/online-taxi-public/internal-common/src/main/java/com/internal/util/JwtUtils.java index e715eb0..1325896 100644 --- a/online-taxi-public/internal-common/src/main/java/com/internal/util/JwtUtils.java +++ b/online-taxi-public/internal-common/src/main/java/com/internal/util/JwtUtils.java @@ -20,11 +20,14 @@ public class JwtUtils { private static final String JWT_KEY_IDENTITY = "identity"; + private static final String JWT_TOKEN_TYPE = "tokenType"; + //生成token - public static String generatorToken(String passengerPhone,String identity) { + public static String generatorToken(String passengerPhone,String identity,String tokenType) { Map map = new HashMap<>(); map.put(JWT_KEY_PHONE,passengerPhone); map.put(JWT_KEY_IDENTITY,identity); + map.put(JWT_TOKEN_TYPE,tokenType); //token过期时间 Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, 1); @@ -47,7 +50,7 @@ public class JwtUtils { // Map map = new HashMap<>(); // map.put("name", "zhang san"); // map.put("age", "19"); - String s = generatorToken("1312312312","1"); + String s = generatorToken("1312312312","1","accessToken"); System.out.println("生成的token: " + s); TokenResult tokenResult = parseToken(s); System.out.println("解析Token:" + tokenResult.getIdentity()); diff --git a/online-taxi-public/internal-common/src/main/java/com/internal/util/RedisPrefixUtils.java b/online-taxi-public/internal-common/src/main/java/com/internal/util/RedisPrefixUtils.java index 373d4c4..76630ac 100644 --- a/online-taxi-public/internal-common/src/main/java/com/internal/util/RedisPrefixUtils.java +++ b/online-taxi-public/internal-common/src/main/java/com/internal/util/RedisPrefixUtils.java @@ -12,8 +12,8 @@ public class RedisPrefixUtils { * @param identity * @return */ - public static String getTokenPrefixKey(String passenegerPhone, String identity) { - return ApiPassengerConstant.TOKEN_PREFIX + passenegerPhone + "-" + identity; + public static String getTokenPrefixKey(String passenegerPhone, String identity,String tokenType) { + return ApiPassengerConstant.TOKEN_PREFIX + passenegerPhone + "-" + identity+ "-" + tokenType; }