Merge pull request #28 from zgiber/fix-iat-validation use GetTime when validating "iat" claim
diff --git a/.travis.yml b/.travis.yml index 64e44fa..6f70d93 100644 --- a/.travis.yml +++ b/.travis.yml
@@ -1,8 +1,8 @@ language: go go: - - 1.5 - 1.6 + - 1.7 - tip sudo: false @@ -11,4 +11,4 @@ - go get -u github.com/golang/lint/golint script: - - ./_test.sh \ No newline at end of file + - ./_test.sh
diff --git a/README.md b/README.md index 52e31d7..44edd54 100644 --- a/README.md +++ b/README.md
@@ -22,6 +22,9 @@ The docs can be found at [godoc.org] [docs], as usual. +A gopkg.in mirror can be found at https://gopkg.in/jose.v1, thanks to +@zia-newversion. (For context, see #30.) + ### [JWS RFC][jws] ### [JWE RFC][jwe] ### [JWT RFC][jwt]
diff --git a/jwt/jwt.go b/jwt/jwt.go index d29c43a..feb1712 100644 --- a/jwt/jwt.go +++ b/jwt/jwt.go
@@ -59,9 +59,10 @@ j.Claims().Get("sub") != sub { return ErrInvalidSUBClaim } - if iat, ok := v.Expected.IssuedAt(); ok && - j.Claims().Get("iat") != iat { - return ErrInvalidIATClaim + if iat, ok := v.Expected.IssuedAt(); ok { + if t, ok := j.Claims().GetTime("iat"); !t.Equal(iat) || !ok { + return ErrInvalidIATClaim + } } if jti, ok := v.Expected.JWTID(); ok && j.Claims().Get("jti") != jti {