자사 시스템과의 인증을 위해 JWT 를 사용중인데, 잘 되다가 갑자기 아래와 같은 에러가 발생 하였습니다.
JWTVerificationException :
com.auth0.jwt.exceptions.InvalidClaimException: The Token can't be used before Tue Feb 13 19:35:57 KST 2024.
해당 오류 발생 위치는
JWTVerifier verifier = JWT.require(algorithm).withIssuer(TokenUtilForSupport.WILDCARD_DOMAIN).build();
원인으로는
요청 하는 서버의 시간이 인증하는 서버의 시간보다 빨라서 발생 한것으로 보입니다.
해결 방법으로는 아래와 같이 acceptLeeway 옵션을 주면 되는 것인데, 값은 long 으로 초 단위 입력 하시면 됩니다.
JWTVerifier verifier = JWT.require(algorithm).acceptLeeway(LEEWAY).withIssuer(TokenUtil.WILDCARD_DOMAIN).build();
타 블로그를 보면 2,5 정도 주던데 이렇게 주고 나서 처음에는 별 문제가 없다가 몇개월 뒤에는 다시 갭차이로 에러가 발생 하여, 넉넉하게 줬습니다.
'JAVA > Spring Framework' 카테고리의 다른 글
Mybatis + Oracle or Postgresql 에서 프로시저(Procedure) 호출 시 파라메터 자동 매핑 및 Cursor로 리턴 받는 기능 추가 (1) | 2023.12.15 |
---|---|
그룹웨어 운영한지 벌써 3년..잠재적 문제(백엔드) (0) | 2023.09.19 |
JPA를 알아보다가 나온 R2DBC(메모) (0) | 2023.08.23 |
Spring 비동기,Reactive 통신을 위한 자료들 (0) | 2023.08.23 |
비동기 프로그래밍 정리된 글[펌] (0) | 2023.07.13 |