added utc time functions
This commit is contained in:
parent
fb52ae4a30
commit
1bdb6009cf
2 changed files with 27 additions and 5 deletions
10
jwt.go
10
jwt.go
|
|
@ -135,7 +135,7 @@ func (jwt *JWT) Invalidate(t *Token) error {
|
||||||
switch {
|
switch {
|
||||||
case exp == 0:
|
case exp == 0:
|
||||||
return ErrMissingExp
|
return ErrMissingExp
|
||||||
case time.Now().UTC().Unix() > exp:
|
case Now() > exp:
|
||||||
return ErrExp
|
return ErrExp
|
||||||
}
|
}
|
||||||
if !hmac.Equal(jwt.sum(t.Data(), h), t.RawSig()) {
|
if !hmac.Equal(jwt.sum(t.Data(), h), t.RawSig()) {
|
||||||
|
|
@ -190,12 +190,12 @@ func (jwt *JWT) Sign(t *Token) (err error) {
|
||||||
if h == nil {
|
if h == nil {
|
||||||
return ErrUnsupportedAlg
|
return ErrUnsupportedAlg
|
||||||
}
|
}
|
||||||
now := time.Now().UTC()
|
now := time.Now()
|
||||||
if _, ok := t.Claims.Get(ExpClaim); !ok {
|
if _, ok := t.Claims.Get(ExpClaim); !ok {
|
||||||
t.Claims.Set(ExpClaim, now.Add(jwt.expiry).Unix())
|
t.Claims.Set(ExpClaim, newExp(now, jwt.expiry))
|
||||||
}
|
}
|
||||||
if _, ok := t.Claims.Get(NbfClaim); !ok {
|
if _, ok := t.Claims.Get(NbfClaim); !ok {
|
||||||
t.Claims.Set(NbfClaim, now.Unix())
|
t.Claims.Set(NbfClaim, NewNbf(now))
|
||||||
}
|
}
|
||||||
head, err := json.Marshal(t.Header)
|
head, err := json.Marshal(t.Header)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -222,7 +222,7 @@ func (jwt *JWT) Verify(t *Token) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
now := time.Now().UTC().Unix()
|
now := Now()
|
||||||
if t.Header.GetString(TypClaim) != Typ {
|
if t.Header.GetString(TypClaim) != Typ {
|
||||||
return ErrNoJWT
|
return ErrNoJWT
|
||||||
}
|
}
|
||||||
|
|
|
||||||
22
time.go
Normal file
22
time.go
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
package jwt
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// Now returns the current time in UTC Unix format
|
||||||
|
func Now() int64 {
|
||||||
|
return NewNbf(time.Now())
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewNbf returns a new 'not before' date
|
||||||
|
func NewNbf(t time.Time) int64 {
|
||||||
|
return t.UTC().Unix()
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewExp returns a new expiration date
|
||||||
|
func NewExp(d time.Duration) int64 {
|
||||||
|
return newExp(time.Now(), d)
|
||||||
|
}
|
||||||
|
|
||||||
|
func newExp(t time.Time, d time.Duration) int64 {
|
||||||
|
return t.UTC().Add(d).Unix()
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue