@@ -24,8 +24,8 @@ func RunTest(t *testing.T, command func(Algorithm)) {
24
24
func TestEncodeAndValidateToken (t * testing.T ) {
25
25
RunTest (t , func (algorithm Algorithm ) {
26
26
payload := NewClaim ()
27
- payload .SetTime ("nbf" , time .Now ().Add (time .Duration (- 1 ) * time .Hour ))
28
- payload .SetTime ("exp" , time .Now ().Add (time .Duration (100 ) * time .Hour ))
27
+ payload .SetTime ("nbf" , time .Now ().Add (time .Duration (- 1 )* time .Hour ))
28
+ payload .SetTime ("exp" , time .Now ().Add (time .Duration (100 )* time .Hour ))
29
29
30
30
token , err := algorithm .Encode (payload )
31
31
if err != nil {
@@ -90,7 +90,7 @@ func TestVerifyTokenNbf(t *testing.T) {
90
90
RunTest (t , func (algorithm Algorithm ) {
91
91
92
92
payload := NewClaim ()
93
- payload .SetTime ("nbf" , time .Now ().Add (time .Duration (1 ) * time .Hour ))
93
+ payload .SetTime ("nbf" , time .Now ().Add (time .Duration (1 )* time .Hour ))
94
94
95
95
err := json .Unmarshal ([]byte (`{"sub":"1234567890","name":"John Doe","admin":true}` ), & payload )
96
96
if err != nil {
@@ -120,3 +120,14 @@ func TestDecodeMalformedToken(t *testing.T) {
120
120
}
121
121
})
122
122
}
123
+
124
+ func TestValidateExternalToken (t * testing.T ) {
125
+ token := "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6ImZmNzJkMWM5LTMzMTktNGIyOS04YjlhLWU1OThkNGJhNDRlZCJ9.eyJpc3MiOiJodHRwOi8vbG9jYWwuaG9zdC5jb20iLCJhdWQiOiJodHRwOi8vbG9jYWwuaG9zdC5jb20iLCJqdGkiOiJmZjcyZDFjOS0zMzE5LTRiMjktOGI5YS1lNTk4ZDRiYTQ0ZWQiLCJpYXQiOjE1MTkzMjc2NDYsIm5iZiI6MTUxOTMyNzY1MCwiZXhwIjoxNjQwMzkwNDAwfQ.ASo8eiekkwZ7on43S9n697x-SqmdehY680GetK_KqpI"
126
+
127
+ algorithm := HmacSha256 ("this-needs-a-test" )
128
+
129
+ err := algorithm .Validate (token )
130
+ if err != nil {
131
+ t .Fatal (err )
132
+ }
133
+ }
0 commit comments