· 7 years ago · Apr 23, 2018, 04:38 AM
1private JwtBuilder getJwtBuilder(
2 String jti,
3 Long issuedAt,
4 Long expiredAt,
5 Long businessAccountId,
6 Long consumerAccountId,
7 String deviceId
8) {
9 JwtBuilder builder = Jwts.builder();
10 builder.setIssuer("SO");
11 builder.setSubject(TokenConstant.TOKEN_SUBJECT);
12 builder.setId(jti);
13 builder.setIssuedAt(new Date(issuedAt));
14 builder.setExpiration(new Date(expiredAt));
15 builder.claim(TokenConstant.BUSINESS_ACCOUNT_ID, businessAccountId);
16 builder.claim(TokenConstant.DEVICE_ID, deviceId);
17 builder.signWith(SignatureAlgorithm.HS512, secretKey);
18 return builder;
19}
20
21private JsonWebToken decodeToken(String jsonWebToken) {
22 try {
23 Jws<Claims> map = Jwts.parser().setSigningKey(secretKey).parseClaimsJws(jsonWebToken);
24 Claims claims = map.getBody();
25 return getJsonWebTokenFromClaims(claims);
26 } catch (SignatureException | MalformedJwtException e) {
27 throw new InvalidTokenException(e.getMessage());
28 }
29}
30
31private JsonWebToken getJsonWebTokenFromClaims(Claims claims) {
32 JsonWebToken token = new JsonWebToken();
33 token.jti = claims.getId();
34 token.expirationTime = claims.getExpiration().getTime();
35 token.issuedAt = claims.getIssuedAt().getTime();
36 token.deviceId = (String) claims.get(TokenConstant.DEVICE_ID);
37 token.businessAccountId = (Long) claims.get(TokenConstant.BUSINESS_ACCOUNT_ID);
38 return token;
39}
40
412018-04-23 10:27:04.476 ERROR b.c.i.s.c.BabyDontCrash - SDK angry: {}
42
43<dependency>
44 <groupId>io.jsonwebtoken</groupId>
45 <artifactId>jjwt</artifactId>
46 <version>0.6.0</version>
47 </dependency>