Files
springboot-demo/target/classes/com/example/demo/controller/auth/LearningAuthController.class

24 lines
4.2 KiB
Plaintext
Raw Normal View History

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<00>
2026-03-18 15:18:30 +08:00
 java/lang/Object<init>()V  
7com/example/demo/controller/auth/LearningAuthControllerjwtUtil+Lcom/example/demo/security/LearningJwtUtil;admin
 &com/example/demo/dto/auth/LoginRequestusername()Ljava/lang/String;
 java/lang/Stringequals(Ljava/lang/Object;)Zadmin123
 password!user#user123%#com/example/demo/common/ApiResponse'Invalid demo credentials
2026-03-18 15:18:30 +08:00
)*+ ,-java/time/Instantnow()Ljava/time/Instant;
$/ 0;(ILjava/lang/String;Ljava/lang/Object;Ljava/time/Instant;)V
234 56)com/example/demo/security/LearningJwtUtil generateToken&(Ljava/lang/String;)Ljava/lang/String;8token:type<Bearer?tipAEAttach Authorization: Bearer <token> when calling protected lab APIs. CDE FG java/util/Mapof<00>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
$I JKok9(Ljava/lang/Object;)Lcom/example/demo/common/ApiResponse;MmodeO learning-jwtQprotectedPathsS /api/users/**U/aop/**W /api/lab/**Y /learn/**[/api/secure/**]defaultAccounts_admin/admin123a user/user123cnoteeEUse this demo login before opening the advanced labs on a public VPS.
ghi jk$org/springframework/util/StringUtilshasText(Ljava/lang/String;)ZmBearer
o pk
startsWithrMissing bearer token
$t uvfail:(ILjava/lang/String;)Lcom/example/demo/common/ApiResponse;
x yz substring(I)Ljava/lang/String;
2| }kvalidateToken is invalid or expired<00>subject
2<00> 6<00>claims
2<00> <00><00>#(Ljava/lang/String;)Ljava/util/Map;<00>aJWT is self-contained: the server can read claims without storing a session row for each request. C<00> F<00>}(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;.(Lcom/example/demo/security/LearningJwtUtil;)VCodeLineNumberTableLocalVariableTablethis9Lcom/example/demo/controller/auth/LearningAuthController;MethodParametersloginO(Lcom/example/demo/dto/auth/LoginRequest;)Lcom/example/demo/common/ApiResponse;request(Lcom/example/demo/dto/auth/LoginRequest;Ljava/lang/String; StackMapTable Signature<00>(Lcom/example/demo/dto/auth/LoginRequest;)Lcom/example/demo/common/ApiResponse<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;RuntimeVisibleAnnotations5Lorg/springframework/web/bind/annotation/PostMapping;value/loginRuntimeVisibleTypeAnnotationsLjakarta/validation/Valid;"RuntimeVisibleParameterAnnotations5Lorg/springframework/web/bind/annotation/RequestBody;'()Lcom/example/demo/common/ApiResponse;^()Lcom/example/demo/common/ApiResponse<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;4Lorg/springframework/web/bind/annotation/GetMapping;/mode
introspect9(Ljava/lang/String;)Lcom/example/demo/common/ApiResponse; authorizationp(Ljava/lang/String;)Lcom/example/demo/common/ApiResponse<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>; /introspect7Lorg/springframework/web/bind/annotation/RequestHeader; Authorizationrequired
SourceFileLearningAuthController.java8Lorg/springframework/web/bind/annotation/RestController;8Lorg/springframework/web/bind/annotation/RequestMapping; /api/auth! <00><00>F
*<2A>*+<2B><07><00> <00>
<00><00>
<00> <00><00><00><00>e +<2B><0F><15>+<2B><1D><15>, +<2B><0F><15>"+<2B><1D><15><14>$Y<01>&<01>(<28>.<2E>*<2A>+<2B><0F>1M7,9;=+<2B>>@<40>B<>H<><00>0 A#M$W'^$<00> e<00><00>e<00><00>M8<00><00><00><00><00><00><00><00><00>[s<00><00> <00><00> <00><00>M<00><00>h >LNP<08>YRSYTSYVSYXSYZS\<05>Y^SY`Sbd<>B<>H<><00>.<00> ><00><00><00><00><00><00><00>[s<00><00><00><00><00>S+<2B>f<> +l<>n<> <01>q<>s<>+<07>wM*<2A>,<2C>{<7B> <01>~<7E>s<><12>*<2A>,<2C><00><12>*<2A>,<2C><00>><12><><00><>H<><00>& :;> ?+@4C;DEELC<00> S<00><00>S<00><00> 38<00><00>
<08><00><00><00><00><00><00><00>[s<00><00><00><00>s<00><00>Z<00><00><00><00><00><00><00>[s<00>