Skip to content

Commit

Permalink
Added save signature to Token struct after successful signing. Corres…
Browse files Browse the repository at this point in the history
…ponding test.
  • Loading branch information
EgorSheff committed Nov 5, 2024
1 parent bc8bdca commit d56d945
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
2 changes: 2 additions & 0 deletions token.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ func (t *Token) SignedString(key interface{}) (string, error) {
return "", err
}

t.Signature = sig

return sstr + "." + t.EncodeSegment(sig), nil
}

Expand Down
21 changes: 21 additions & 0 deletions types_test.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
package jwt_test

import (
"bytes"
"encoding/base64"
"encoding/json"
"math"
"strings"
"testing"
"time"

Expand Down Expand Up @@ -124,3 +127,21 @@ func TestNumericDate_MarshalJSON(t *testing.T) {
}
}
}

func TestGetSignatureAfterSigning(t *testing.T) {
token := jwt.New(jwt.SigningMethodHS256, nil)
signedString, err := token.SignedString([]byte("test12345"))
if err != nil {
t.Fatal(err)
}

sigStr := signedString[strings.LastIndex(signedString, ".")+1:]
sig, err := base64.RawURLEncoding.DecodeString(sigStr)
if err != nil {
t.Fatal(err)
}

if !bytes.Equal(sig, token.Signature) {
t.Errorf("token.Signature not equal to signature in signed string")
}
}

0 comments on commit d56d945

Please sign in to comment.