use raw base64 as defined by rfc7515
This commit is contained in:
parent
a00a154398
commit
1613055dfd
3 changed files with 12 additions and 7 deletions
7
encoding.go
Normal file
7
encoding.go
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
// Copyright (C) 2018 Marius Schellenberger
|
||||||
|
|
||||||
|
package jwt
|
||||||
|
|
||||||
|
import "encoding/base64"
|
||||||
|
|
||||||
|
var enc = base64.RawURLEncoding
|
||||||
5
jwt.go
5
jwt.go
|
|
@ -6,7 +6,6 @@ package jwt
|
||||||
import (
|
import (
|
||||||
"crypto/hmac"
|
"crypto/hmac"
|
||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
"encoding/base64"
|
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"io"
|
"io"
|
||||||
|
|
@ -210,9 +209,9 @@ func (jwt *JWT) Sign(t *Token) (err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
t.data = base64.URLEncoding.EncodeToString(head) + TokenSeparator + base64.URLEncoding.EncodeToString(claims)
|
t.data = enc.EncodeToString(head) + TokenSeparator + enc.EncodeToString(claims)
|
||||||
t.rawSignature = jwt.sum(t.data, h)
|
t.rawSignature = jwt.sum(t.data, h)
|
||||||
t.signature = base64.URLEncoding.EncodeToString(t.rawSignature)
|
t.signature = enc.EncodeToString(t.rawSignature)
|
||||||
t.raw = t.data + TokenSeparator + t.signature
|
t.raw = t.data + TokenSeparator + t.signature
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
7
token.go
7
token.go
|
|
@ -3,7 +3,6 @@
|
||||||
package jwt
|
package jwt
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/base64"
|
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
@ -75,7 +74,7 @@ func DecodeToken(token string) (t *Token, err error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
t = new(Token)
|
t = new(Token)
|
||||||
header, err := base64.URLEncoding.DecodeString(parts[0])
|
header, err := enc.DecodeString(parts[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -83,7 +82,7 @@ func DecodeToken(token string) (t *Token, err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
claims, err := base64.URLEncoding.DecodeString(parts[1])
|
claims, err := enc.DecodeString(parts[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -91,7 +90,7 @@ func DecodeToken(token string) (t *Token, err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
t.rawSignature, err = base64.URLEncoding.DecodeString(parts[2])
|
t.rawSignature, err = enc.DecodeString(parts[2])
|
||||||
t.signature = parts[2]
|
t.signature = parts[2]
|
||||||
t.data = parts[0] + TokenSeparator + parts[1]
|
t.data = parts[0] + TokenSeparator + parts[1]
|
||||||
t.raw = token
|
t.raw = token
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue