Files
springboot-scaffold/target/classes/com/example/scaffold/security/jwt/JwtUtil.class

34 lines
5.5 KiB
Plaintext
Raw Normal View History

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<00>
 java/lang/Object<init>()V  
)com/example/scaffold/security/jwt/JwtUtilsecretLjava/lang/String;  !java/nio/charset/StandardCharsetsUTF_8Ljava/nio/charset/Charset;
 java/lang/StringgetBytes(Ljava/nio/charset/Charset;)[B
 io/jsonwebtoken/security/Keys hmacShaKeyFor([B)Ljavax/crypto/SecretKey; java/util/Date

# $%getTime()J ' ()
expirationLjava/lang/Long;
+,- .%java/lang/Long longValue
0 1(J)V3java/util/HashMap
26userId 89: ;< java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;>username@roles
BCD EFio/jsonwebtoken/Jwtsbuilder()Lio/jsonwebtoken/JwtBuilder; HIJ KLio/jsonwebtoken/JwtBuilderclaims-(Ljava/util/Map;)Lio/jsonwebtoken/JwtBuilder; HN OPsubject0(Ljava/lang/String;)Lio/jsonwebtoken/JwtBuilder; HR STissuedAt.(Ljava/util/Date;)Lio/jsonwebtoken/JwtBuilder; HV (T
X YZ getSigningKey()Ljavax/crypto/SecretKey; \]^ _`io/jsonwebtoken/Jwts$SIGHS256'Lio/jsonwebtoken/security/MacAlgorithm; Hb cdsignWitha(Ljava/security/Key;Lio/jsonwebtoken/security/SecureDigestAlgorithm;)Lio/jsonwebtoken/JwtBuilder; Hf ghcompact()Ljava/lang/String;
j kl
parseToken,(Ljava/lang/String;)Lio/jsonwebtoken/Claims; nop qhio/jsonwebtoken/Claims
getSubject ns tuget7(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;w#io/jsonwebtoken/ExpiredJwtException y z{logLorg/slf4j/Logger;}JWT Token 已过期: {}
v <00>h
getMessage <00><00><00> <00><00>org/slf4j/Loggerwarn'(Ljava/lang/String;Ljava/lang/Object;)V<00>'io/jsonwebtoken/UnsupportedJwtException<00>不支持的 JWT Token: {}
<00><00>%io/jsonwebtoken/MalformedJwtException<00>无效的 JWT Token: {}
<00><00>java/lang/SecurityException<00>JWT 签名验证失败: {}
<00><00>"java/lang/IllegalArgumentException<00>JWT Token 为空或非法: {}
<00>
B<00> <00><00>parser$()Lio/jsonwebtoken/JwtParserBuilder; <00><00><00> <00><00> io/jsonwebtoken/JwtParserBuilder
verifyWith<(Ljavax/crypto/SecretKey;)Lio/jsonwebtoken/JwtParserBuilder; <00><00> <00><00>build()Lio/jsonwebtoken/JwtParser; <00><00><00> <00><00>io/jsonwebtoken/JwtParserparseSignedClaims/(Ljava/lang/CharSequence;)Lio/jsonwebtoken/Jws; <00><00><00> <00><00>io/jsonwebtoken/Jws
getPayload()Ljava/lang/Object; n<00> <00><00> getExpiration()Ljava/util/Date;
<00><00><00> <00>%java/lang/SystemcurrentTimeMillis<00>java/lang/Exception
<00> <00><00> generateTokenI(Ljava/lang/Long;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
<00><00><00> <00><00>org/slf4j/LoggerFactory getLogger%(Ljava/lang/Class;)Lorg/slf4j/Logger;RuntimeVisibleAnnotations4Lorg/springframework/beans/factory/annotation/Value;valueA${auth.jwt.secret:your-secret-key-here-must-be-at-least-256-bits}${auth.jwt.expiration:86400000}CodeLineNumberTableLocalVariableTablethis+Lcom/example/scaffold/security/jwt/JwtUtil;[Ljava/lang/String;nowLjava/util/Date;
expiryDateLjava/util/Map;LocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;MethodParametersgetUsernameFromToken&(Ljava/lang/String;)Ljava/lang/String;tokenLio/jsonwebtoken/Claims; StackMapTablegetUserIdFromToken$(Ljava/lang/String;)Ljava/lang/Long; validateToken(Ljava/lang/String;)Ze%Lio/jsonwebtoken/ExpiredJwtException;)Lio/jsonwebtoken/UnsupportedJwtException;'Lio/jsonwebtoken/MalformedJwtException;Ljava/lang/SecurityException;$Ljava/lang/IllegalArgumentException;isTokenExpiredSoon(Ljava/lang/String;J)ZLjava/lang/Exception; thresholdJ refreshToken<clinit>
SourceFile JwtUtil.java*Lorg/springframework/stereotype/Component; InnerClassesSIG!z{ <00> <00><00>s<00>()<00> <00><00>s<00>
<00>/*<2A><01><00><00> <00><00>YZ<00>8*<2A><07> <0A><13><19><00>#<00> <00><00><00><00><00><00>%y<>Y<>!:<04>Y<04>"*<2A>&<26>*a<>/:<05>2Y<32>4:5+<2B>7W=,<2C>7W?-<2D>7W<>A<06>G,<2C>M<04>Q<05>U*<2A>W<>[<5B>a<00>e<00><00>:/ 02(334>5I7N8T9[:b;h<s=x7<00>Hy<00><00>y6)y> y@<00> p<00><00>Z<00><00>(QK<00><00> (QK<00><00> 6>@<00><00><00>i*+<2B>iM,<2C> ,<2C>m<00><01><00>
DE<00> <00><00><00> K<00><00> <02>n@<00><00><00><00><00>p*+<2B>iM,<2C>,5+<2B>r<00>+<2B><01><00>
LM<00> <00><00><00> K<00><00> <02>n@+<00><00><00><00><00>La*+<2B>iW<04>M<EFBFBD>x|,<2C>~<7E><00><00>HM<48>x<12>,<2C><00><><00><00>6M<36>x<12>,<2C><00><><00><00>$M<>x<12>,<2C><00><><00><00>M<>x<12>,<2C><00><><00><03>v<00>,<00>><00>P<00><00>FUVW XaYZ)a,[-\;a>]?^MaP_Q`_b<00>H <00><00><00><00>-<00><00>?<00><00>Q<00><00>a<00><00>a<00> <00>HvQ<00>Q<00>Q<00>Q<00><00><00>kl<00>h <20><00>*<2A>W<><00><00><00>+<2B><00><00><00><00>n<><00>ij klmi<00> <00><00> <00> <00><00><00><00><00><00>(*+<2B>i:<04><00>:<05>"<22><00>e <20><><04><03>:<04>#$<00><00>yz{$|&}<00>>K<00>(<00>&<00><00>(<00><00>(<00> (<00><00><00><03>"n@<01><00><00> <00><00><00><00><00><00><*+<2B>iM,5+<2B>r<00>+N,<2C>m:,?<14>r<00>:*-<04>YS<><00><><00><00><00><00><00>+<00><00>><<00><00><<00> 6K<00>(6) > +@ <00><00><00><00>! <08>ijx<><00><00><00><00><00><00>
\B<00>