master
独孤伶俜 2023-12-15 14:43:28 +08:00
parent dc53fea5fb
commit 3b2ea1763e
2 changed files with 73 additions and 0 deletions

View File

@ -73,3 +73,26 @@ func verifyToken(jwt, secret string) bool {
return signature == parts[2]
}
//func main() {
// secret := "1234567890"
// // 当前时间戳
// now := time.Now().Add(5 * time.Minute).Unix()
// tokenWithoutSign, err := createToken("1234567890", "zhangsan", now)
// if err != nil {
// fmt.Println(err)
// return
// }
//
// sign, err := signToken(tokenWithoutSign, secret)
// if err != nil {
// fmt.Println(err)
// return
// }
//
// jwt := fmt.Sprintf("%s.%s", tokenWithoutSign, sign)
// fmt.Println("JWT:", jwt)
//
// isValid := verifyToken(jwt, secret)
// fmt.Println("isValid:", isValid)
//}

50
middleware/JWT_test.go Normal file
View File

@ -0,0 +1,50 @@
package middleware
import (
"fmt"
"testing"
)
var err error
var secret string = "1234567890"
var token string = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6InpoYW5nc2FuIiwiaWF0IjoxNjIyNjQwMDAwfQ"
var signature string
var jwt string = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6InpoYW5nc2FuIiwiaWF0IjoxNjIyNjQwMDAwfQ.Trk6LMpzsyvNLaqWn2FEXEpB5PRyQjo600NoU6LARMo"
func TestBase64Encode(t *testing.T) {
result := base64Encode([]byte("test"))
expected := "dGVzdA"
if result != expected {
t.Errorf("Expected %s, but got %s", expected, result)
}
}
func TestCreateToken(t *testing.T) {
token, err = createToken("12345678920", "zhangsan", 1622640000)
println(token)
if err != nil {
t.Errorf("Expected nil, but got error %s", err)
}
if token == "" {
t.Errorf("Expected token, but got empty string")
}
}
func TestSignToken(t *testing.T) {
signature, err = signToken(token, secret)
jwt = fmt.Sprintf("%s.%s", token, signature)
println(jwt)
if err != nil {
t.Errorf("Expected nil, but got error %s", err)
}
if signature == "" {
t.Errorf("Expected signature, but got empty string")
}
}
func TestVerifyToken(t *testing.T) {
isValid := verifyToken(jwt, secret)
if !isValid {
t.Errorf("Expected true, but got false")
}
}