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 {