So extrahieren und überprüfen Sie das vom Frontend in golang @ gesendete Tok
Ich verwende "github.com/dgrijalva/jwt-go" und kann ein Token an mein Frontend senden. Außerdem möchte ich wissen, wie ich das vom Frontend gesendete Token abrufen kann, damit ich überprüfen kann, ob das Token vorhanden ist Die gesendete Ressource ist gültig und in diesem Fall wird die gesicherte Ressource zugestellt.
Hier wird das Token vom Frontend-Javascript gesendet ...
headers: {
'Authorization':'Bearer' + localStorage.getItem('id_token')
}
Hier ist der Code zum Senden des Tokens
token := jwt.New(jwt.GetSigningMethod("HS256"))
claims := make(jwt.MapClaims)
claims["userName"] = loginRequest.UserName
claims["exp"] = time.Now().Add(time.Minute * 60).Unix()
token.Claims = claims
tokenString, err := token.SignedString([]byte(SecretKey))
tokenByte, err := json.Marshal(data)
w.WriteHeader(201)
w.Write(tokenByte)
Hier ist der Code zum Überprüfen des Tokens
func VerifyToken(r *http.Request) bool {
reqToken := r.Header.Get("Authorization")
token, err := jwt.Parse(reqToken, func(t *jwt.Token) (interface{}, error) {
return []byte(SecretKey), nil
})
if err == nil && token.Valid {
fmt.Println("valid token")
return true
} else {
fmt.Println("invalid token")
return false
}
}
BekommeNul Token als eine Rückkehr, meine Vermutung ist, ich habe Träger gesendet, und ich denke, es könnte ein Parsing erforderlich sein, wenn ja, wie?