added benchmarks
This commit is contained in:
parent
b4a92fe472
commit
fb52ae4a30
4 changed files with 113 additions and 34 deletions
22
jwt.go
22
jwt.go
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue