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 new file mode 100644 index 0000000..643af2c --- /dev/null +++ b/online-taxi-public/internal-common/src/main/java/com/internal/contant/IdentityConstant.java @@ -0,0 +1,8 @@ +package com.internal.contant; + +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/dto/TokenResult.java b/online-taxi-public/internal-common/src/main/java/com/internal/dto/TokenResult.java new file mode 100644 index 0000000..b11bcf4 --- /dev/null +++ b/online-taxi-public/internal-common/src/main/java/com/internal/dto/TokenResult.java @@ -0,0 +1,11 @@ +package com.internal.dto; + +import lombok.Data; + +@Data +public class TokenResult { + + private String passengerPhone; + + private String identity; +} 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 52b74e3..d3c7048 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 @@ -5,6 +5,7 @@ import com.auth0.jwt.JWTCreator; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.Claim; import com.auth0.jwt.interfaces.DecodedJWT; +import com.internal.dto.TokenResult; import java.util.Calendar; import java.util.Date; @@ -15,12 +16,15 @@ public class JwtUtils { //盐 private static final String SIGN = "CPFTAXI0908%$"; - private static final String JWT_KEY = "passengerPhone"; + private static final String JWT_KEY_PHONE = "passengerPhone"; + + private static final String JWT_KEY_IDENTITY = "identity"; //生成token - public static String generatorToken(String passengerPhone) { + public static String generatorToken(String passengerPhone,String identity) { Map map = new HashMap<>(); - map.put(JWT_KEY,passengerPhone); + map.put(JWT_KEY_PHONE,passengerPhone); + map.put(JWT_KEY_IDENTITY,identity); //token过期时间 Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, 1); @@ -43,19 +47,23 @@ public class JwtUtils { // Map map = new HashMap<>(); // map.put("name", "zhang san"); // map.put("age", "19"); - String s = generatorToken("1312312312"); + String s = generatorToken("1312312312","1"); System.out.println("生成的token: " + s); - String jwtStr = parseToken(s); - System.out.println("解析Token:" + jwtStr); + TokenResult tokenResult = parseToken(s); + System.out.println("解析Token:" + tokenResult.getIdentity()); } //解析Token - public static String parseToken(String token) { + public static TokenResult parseToken(String token) { DecodedJWT decodedJWT = JWT.require(Algorithm.HMAC256(SIGN)) .build().verify(token); - Claim claim = decodedJWT.getClaim(JWT_KEY); - return claim != null ? claim.toString() : ""; + Claim claimPhone = decodedJWT.getClaim(JWT_KEY_PHONE); + Claim claimIdentity = decodedJWT.getClaim(JWT_KEY_IDENTITY); + TokenResult tokenResult = new TokenResult(); + tokenResult.setIdentity(claimIdentity.toString()); + tokenResult.setPassengerPhone(claimPhone.toString()); + return tokenResult; }