11package com .codingapi .springboot .security .jwt ;
22
3- import com .codingapi .springboot .security . exception . TokenExpiredException ;
3+ import com .codingapi .springboot .framework . crypto . AESUtils ;
44import com .codingapi .springboot .framework .serializable .JsonSerializable ;
5+ import com .codingapi .springboot .security .exception .TokenExpiredException ;
56import lombok .Getter ;
67import lombok .Setter ;
78import org .springframework .security .authentication .UsernamePasswordAuthenticationToken ;
89import org .springframework .security .core .authority .SimpleGrantedAuthority ;
910
1011import java .beans .Transient ;
12+ import java .io .IOException ;
1113import java .util .ArrayList ;
1214import java .util .Collection ;
1315import java .util .List ;
1719public class Token implements JsonSerializable {
1820
1921 private String username ;
22+ private String password ;
23+ private String token ;
2024 private List <String > authorities ;
2125 private long expireTime ;
22-
2326 private long remindTime ;
24- private String token ;
27+
2528
2629 public Token () {
2730 }
2831
29- public Token (String username ,List <String > authorities , int expireValue , int remindValue ) {
32+ public Token (String username ,String password , List <String > authorities , int expireValue , int remindValue ) throws IOException {
3033 this .username = username ;
34+ this .password = AESUtils .getInstance ().encodeToBase64 (password );
3135 this .authorities = authorities ;
3236 this .expireTime = System .currentTimeMillis ()+expireValue ;
3337 this .remindTime = System .currentTimeMillis ()+remindValue ;
@@ -44,6 +48,7 @@ public boolean isExpire(){
4448 return expireTime <= System .currentTimeMillis ();
4549 }
4650
51+
4752 public boolean canRestToken () {
4853 return !isExpire () && remindTime <= System .currentTimeMillis ();
4954 }
@@ -55,7 +60,7 @@ public UsernamePasswordAuthenticationToken getAuthenticationToken(){
5560 for (String authority :authorities ){
5661 simpleGrantedAuthorities .add (new SimpleGrantedAuthority (authority ));
5762 }
58- return new UsernamePasswordAuthenticationToken (username , token ,simpleGrantedAuthorities );
63+ return new UsernamePasswordAuthenticationToken (this , password ,simpleGrantedAuthorities );
5964 }
6065
6166
0 commit comments