From 96ce1deea88705fd1c3f26a3dcc523585591ec14 Mon Sep 17 00:00:00 2001 From: Tang Cheng Date: Tue, 23 Apr 2019 16:26:34 +0800 Subject: [PATCH] =?utf8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86jwt=20filter=20?= =?utf8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/com/supwisdom/dlpay/security.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/com/supwisdom/dlpay/security.kt b/src/main/kotlin/com/supwisdom/dlpay/security.kt index abb1dd7d..20f12070 100644 --- a/src/main/kotlin/com/supwisdom/dlpay/security.kt +++ b/src/main/kotlin/com/supwisdom/dlpay/security.kt @@ -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) -- 2.17.1