diff --git a/validator.go b/validator.go index 8ac404e5..9ef81a8e 100644 --- a/validator.go +++ b/validator.go @@ -117,7 +117,7 @@ func (v *Validator) Validate(claims Claims) error { // Check issued-at if the option is enabled if v.verifyIat { - if err = v.verifyIssuedAt(claims, now, false); err != nil { + if err = v.verifyIssuedAt(claims, now, true); err != nil { errs = append(errs, err) } } diff --git a/validator_test.go b/validator_test.go index df08a539..a2c3c551 100644 --- a/validator_test.go +++ b/validator_test.go @@ -63,6 +63,12 @@ func Test_Validator_Validate(t *testing.T) { args: args{RegisteredClaims{}}, wantErr: ErrTokenRequiredClaimMissing, }, + { + name: "expected iat is missing", + fields: fields{verifyIat: true}, + args: args{RegisteredClaims{}}, + wantErr: ErrTokenRequiredClaimMissing, + }, { name: "custom validator", fields: fields{}, @@ -81,8 +87,14 @@ func Test_Validator_Validate(t *testing.T) { expectedIss: tt.fields.expectedIss, expectedSub: tt.fields.expectedSub, } - if err := v.Validate(tt.args.claims); (err != nil) && !errors.Is(err, tt.wantErr) { - t.Errorf("validator.Validate() error = %v, wantErr %v", err, tt.wantErr) + + err := v.Validate(tt.args.claims) + if err != nil { + if !errors.Is(err, tt.wantErr) { + t.Errorf("validator.Validate() error = %v, wantErr %v", err, tt.wantErr) + } + } else if tt.wantErr != nil { + t.Errorf("validator.Validate() did not return error, but test expects '%v'", tt.wantErr) } }) }