增加了jwt filter 注释
authorTang Cheng <cheng.tang@supwisdom.com>
Tue, 23 Apr 2019 08:26:34 +0000 (16:26 +0800)
committerTang Cheng <cheng.tang@supwisdom.com>
Tue, 23 Apr 2019 08:26:34 +0000 (16:26 +0800)
src/main/kotlin/com/supwisdom/dlpay/security.kt

index abb1dd7..20f1207 100644 (file)
@@ -64,6 +64,7 @@ class ApiJwtAuthenticationFilter : OncePerRequestFilter() {
                     if (!it.isPresent) {
                         throw JoseException("JWT has not been register")
                     }
+                    // token 已被设为黑名单
                     if (it.get().status != TradeDict.JWT_STATUS_NORMAL) {
                         throw JoseException("JWT status error : ${it.get().status}")
                     }
@@ -75,6 +76,7 @@ class ApiJwtAuthenticationFilter : OncePerRequestFilter() {
             } catch (e: InvalidJwtException) {
                 SecurityContextHolder.clearContext()
                 if (e.hasExpired()) {
+                    // jwt 过期后返回 401
                     apiJwtRepository.deleteById(e.jwtContext.jwtClaims.jwtId)
                     response.sendError(HttpStatus.UNAUTHORIZED.value(), e.message)
                 } else {
@@ -82,7 +84,8 @@ class ApiJwtAuthenticationFilter : OncePerRequestFilter() {
                 }
             } catch (e: JoseException) {
                 SecurityContextHolder.clearContext()
-                response.sendError(HttpStatus.BAD_REQUEST.value(), e.message)
+                // jwt 失效后返回 401
+                response.sendError(HttpStatus.UNAUTHORIZED.value(), e.message)
             }
         }
         filterChain.doFilter(request, response)