|
@@ -20,7 +20,6 @@ import io.jsonwebtoken.Jws; |
|
@@ -20,7 +20,6 @@ import io.jsonwebtoken.Jws; |
20
|
import io.jsonwebtoken.Jwts;
|
20
|
import io.jsonwebtoken.Jwts;
|
21
|
import io.jsonwebtoken.SignatureAlgorithm;
|
21
|
import io.jsonwebtoken.SignatureAlgorithm;
|
22
|
import org.apache.commons.lang3.StringUtils;
|
22
|
import org.apache.commons.lang3.StringUtils;
|
23
|
-import org.joda.time.DateTime;
|
|
|
24
|
import org.springframework.beans.factory.annotation.Autowired;
|
23
|
import org.springframework.beans.factory.annotation.Autowired;
|
25
|
import org.springframework.stereotype.Component;
|
24
|
import org.springframework.stereotype.Component;
|
26
|
import org.thingsboard.server.common.data.id.CustomerId;
|
25
|
import org.thingsboard.server.common.data.id.CustomerId;
|
|
@@ -31,7 +30,9 @@ import org.thingsboard.server.config.JwtSettings; |
|
@@ -31,7 +30,9 @@ import org.thingsboard.server.config.JwtSettings; |
31
|
import org.thingsboard.server.service.security.model.SecurityUser;
|
30
|
import org.thingsboard.server.service.security.model.SecurityUser;
|
32
|
import org.thingsboard.server.service.security.model.UserPrincipal;
|
31
|
import org.thingsboard.server.service.security.model.UserPrincipal;
|
33
|
|
32
|
|
34
|
-import java.util.Arrays;
|
33
|
+import java.time.ZonedDateTime;
|
|
|
34
|
+import java.util.Collections;
|
|
|
35
|
+import java.util.Date;
|
35
|
import java.util.List;
|
36
|
import java.util.List;
|
36
|
import java.util.UUID;
|
37
|
import java.util.UUID;
|
37
|
import java.util.stream.Collectors;
|
38
|
import java.util.stream.Collectors;
|
|
@@ -81,13 +82,13 @@ public class JwtTokenFactory { |
|
@@ -81,13 +82,13 @@ public class JwtTokenFactory { |
81
|
claims.put(CUSTOMER_ID, securityUser.getCustomerId().getId().toString());
|
82
|
claims.put(CUSTOMER_ID, securityUser.getCustomerId().getId().toString());
|
82
|
}
|
83
|
}
|
83
|
|
84
|
|
84
|
- DateTime currentTime = new DateTime();
|
85
|
+ ZonedDateTime currentTime = ZonedDateTime.now();
|
85
|
|
86
|
|
86
|
String token = Jwts.builder()
|
87
|
String token = Jwts.builder()
|
87
|
.setClaims(claims)
|
88
|
.setClaims(claims)
|
88
|
.setIssuer(settings.getTokenIssuer())
|
89
|
.setIssuer(settings.getTokenIssuer())
|
89
|
- .setIssuedAt(currentTime.toDate())
|
|
|
90
|
- .setExpiration(currentTime.plusSeconds(settings.getTokenExpirationTime()).toDate())
|
90
|
+ .setIssuedAt(Date.from(currentTime.toInstant()))
|
|
|
91
|
+ .setExpiration(Date.from(currentTime.plusSeconds(settings.getTokenExpirationTime()).toInstant()))
|
91
|
.signWith(SignatureAlgorithm.HS512, settings.getTokenSigningKey())
|
92
|
.signWith(SignatureAlgorithm.HS512, settings.getTokenSigningKey())
|
92
|
.compact();
|
93
|
.compact();
|
93
|
|
94
|
|
|
@@ -129,11 +130,11 @@ public class JwtTokenFactory { |
|
@@ -129,11 +130,11 @@ public class JwtTokenFactory { |
129
|
throw new IllegalArgumentException("Cannot create JWT Token without username/email");
|
130
|
throw new IllegalArgumentException("Cannot create JWT Token without username/email");
|
130
|
}
|
131
|
}
|
131
|
|
132
|
|
132
|
- DateTime currentTime = new DateTime();
|
133
|
+ ZonedDateTime currentTime = ZonedDateTime.now();
|
133
|
|
134
|
|
134
|
UserPrincipal principal = securityUser.getUserPrincipal();
|
135
|
UserPrincipal principal = securityUser.getUserPrincipal();
|
135
|
Claims claims = Jwts.claims().setSubject(principal.getValue());
|
136
|
Claims claims = Jwts.claims().setSubject(principal.getValue());
|
136
|
- claims.put(SCOPES, Arrays.asList(Authority.REFRESH_TOKEN.name()));
|
137
|
+ claims.put(SCOPES, Collections.singletonList(Authority.REFRESH_TOKEN.name()));
|
137
|
claims.put(USER_ID, securityUser.getId().getId().toString());
|
138
|
claims.put(USER_ID, securityUser.getId().getId().toString());
|
138
|
claims.put(IS_PUBLIC, principal.getType() == UserPrincipal.Type.PUBLIC_ID);
|
139
|
claims.put(IS_PUBLIC, principal.getType() == UserPrincipal.Type.PUBLIC_ID);
|
139
|
|
140
|
|
|
@@ -141,8 +142,8 @@ public class JwtTokenFactory { |
|
@@ -141,8 +142,8 @@ public class JwtTokenFactory { |
141
|
.setClaims(claims)
|
142
|
.setClaims(claims)
|
142
|
.setIssuer(settings.getTokenIssuer())
|
143
|
.setIssuer(settings.getTokenIssuer())
|
143
|
.setId(UUID.randomUUID().toString())
|
144
|
.setId(UUID.randomUUID().toString())
|
144
|
- .setIssuedAt(currentTime.toDate())
|
|
|
145
|
- .setExpiration(currentTime.plusSeconds(settings.getRefreshTokenExpTime()).toDate())
|
145
|
+ .setIssuedAt(Date.from(currentTime.toInstant()))
|
|
|
146
|
+ .setExpiration(Date.from(currentTime.plusSeconds(settings.getRefreshTokenExpTime()).toInstant()))
|
146
|
.signWith(SignatureAlgorithm.HS512, settings.getTokenSigningKey())
|
147
|
.signWith(SignatureAlgorithm.HS512, settings.getTokenSigningKey())
|
147
|
.compact();
|
148
|
.compact();
|
148
|
|
149
|
|