added benchmarks

This commit is contained in:
ston1th 2018-09-13 14:18:11 +02:00
commit fb52ae4a30
4 changed files with 113 additions and 34 deletions

22
jwt.go
View file

@ -10,7 +10,6 @@ import (
"encoding/json"
"errors"
"io"
"strings"
"sync"
"time"
)
@ -125,11 +124,10 @@ func (jwt *JWT) Invalidate(t *Token) error {
if err := jwt.blacklisted(t.Sig()); err != nil {
return err
}
header := t.Header()
if header.GetString(TypClaim) != Typ {
if t.Header.GetString(TypClaim) != Typ {
return ErrNoJWT
}
h := ParseHash(header.GetString(AlgClaim))
h := ParseHash(t.Header.GetString(AlgClaim))
if h == nil {
return ErrUnsupportedAlg
}
@ -185,11 +183,10 @@ func (jwt *JWT) Sign(t *Token) (err error) {
if t == nil {
return ErrTokenIsNil
}
header := t.Header()
if header.GetString(TypClaim) != Typ {
if t.Header.GetString(TypClaim) != Typ {
return ErrNoJWT
}
h := ParseHash(header.GetString(AlgClaim))
h := ParseHash(t.Header.GetString(AlgClaim))
if h == nil {
return ErrUnsupportedAlg
}
@ -200,7 +197,7 @@ func (jwt *JWT) Sign(t *Token) (err error) {
if _, ok := t.Claims.Get(NbfClaim); !ok {
t.Claims.Set(NbfClaim, now.Unix())
}
head, err := json.Marshal(header)
head, err := json.Marshal(t.Header)
if err != nil {
return
}
@ -208,10 +205,10 @@ func (jwt *JWT) Sign(t *Token) (err error) {
if err != nil {
return
}
t.data = strings.Join([]string{base64.URLEncoding.EncodeToString(head), base64.URLEncoding.EncodeToString(claims)}, TokenSeparator)
t.data = base64.URLEncoding.EncodeToString(head) + TokenSeparator + base64.URLEncoding.EncodeToString(claims)
t.rawSignature = jwt.sum(t.data, h)
t.signature = base64.URLEncoding.EncodeToString(t.rawSignature)
t.raw = strings.Join([]string{t.data, t.signature}, TokenSeparator)
t.raw = t.data + TokenSeparator + t.signature
return
}
@ -226,11 +223,10 @@ func (jwt *JWT) Verify(t *Token) error {
}
}
now := time.Now().UTC().Unix()
header := t.Header()
if header.GetString(TypClaim) != Typ {
if t.Header.GetString(TypClaim) != Typ {
return ErrNoJWT
}
h := ParseHash(header.GetString(AlgClaim))
h := ParseHash(t.Header.GetString(AlgClaim))
if h == nil {
return ErrUnsupportedAlg
}