@@ -685,6 +685,18 @@ public void shouldValidateExpiresAtWithLeeway() {
685685 assertThat (jwt , is (notNullValue ()));
686686 }
687687
688+ @ Test
689+ public void shouldValidateExpiresAtWithMaxLeeway () {
690+ String token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0Nzc1OTJ9.isvT0Pqx0yjnZk53mUFSeYFJLDs-Ls9IsNAm86gIdZo" ;
691+ JWTVerifier .BaseVerification verification = (JWTVerifier .BaseVerification ) JWTVerifier .init (Algorithm .HMAC256 ("secret" ))
692+ .acceptExpiresAt (Long .MAX_VALUE );
693+ DecodedJWT jwt = verification
694+ .build (mockOneSecondLater )
695+ .verify (token );
696+
697+ assertThat (jwt , is (notNullValue ()));
698+ }
699+
688700 @ Test
689701 public void shouldValidateExpiresAtIfPresent () {
690702 String token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0Nzc1OTJ9.isvT0Pqx0yjnZk53mUFSeYFJLDs-Ls9IsNAm86gIdZo" ;
@@ -745,6 +757,18 @@ public void shouldValidateNotBeforeWithLeeway() {
745757 assertThat (jwt , is (notNullValue ()));
746758 }
747759
760+ @ Test
761+ public void shouldValidateNotBeforeWithMaxLeeway () {
762+ String token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0Nzc1OTJ9.wq4ZmnSF2VOxcQBxPLfeh1J2Ozy1Tj5iUaERm3FKaw8" ;
763+ JWTVerifier .BaseVerification verification = (JWTVerifier .BaseVerification ) JWTVerifier .init (Algorithm .HMAC256 ("secret" ))
764+ .acceptNotBefore (Long .MAX_VALUE );
765+ DecodedJWT jwt = verification
766+ .build (mockOneSecondEarlier )
767+ .verify (token );
768+
769+ assertThat (jwt , is (notNullValue ()));
770+ }
771+
748772 @ Test
749773 public void shouldThrowOnInvalidNotBeforeIfPresent () {
750774 IncorrectClaimException e = assertThrows (null , IncorrectClaimException .class , () -> {
0 commit comments