linglong掃描器任意登入
阿新 • • 發佈:2022-05-12
https://github.com/awake1t/linglong/blob/master/pkg/utils/jwt.go
package utils import ( "fmt" "github.com/dgrijalva/jwt-go" //"linglong/global" "time" ) var jwtSecret = []byte("213123dd1") type Claims struct { Username string `json:"username"` Password string `json:"password"` jwt.StandardClaims } func GenerateToken(username, password string) (string, error) { fmt.Println("GenerateToken") nowTime := time.Now() expireTime := nowTime.Add(3 * time.Hour) claims := Claims{ username, password, jwt.StandardClaims{ ExpiresAt: expireTime.Unix(), Issuer: "linglong", }, } tokenClaims := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) token, err := tokenClaims.SignedString(jwtSecret) return token, err } func ParseToken(token string) (*Claims, error) { tokenClaims, err := jwt.ParseWithClaims(token, &Claims{}, func(token *jwt.Token) (interface{}, error) { return jwtSecret, nil }) if tokenClaims != nil { if claims, ok := tokenClaims.Claims.(*Claims); ok && tokenClaims.Valid { return claims, nil } } return nil, err }
jwt金鑰為固定的
所以直接使用金鑰生成token即可
不過
https://github.com/awake1t/linglong/pull/75/commits/fe0bb6131d5fcdca11a39c0bbce68721ac714307
繼續了token動態獲取,還未進行合併。