2
我正在使用「github.com/dgrijalva/jwt-go」,並且能夠向我的前端發送令牌,我想知道如何檢索令牌從前端發送,以便我可以驗證發送的令牌是否有效,如果是,則會傳遞受保護的資源。如何提取和驗證從前端發送的令牌在golang
下面是從前端的JavaScript發送令牌......
headers: {
'Authorization':'Bearer' + localStorage.getItem('id_token')
}
下面是代碼發送令牌
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)
這裏是驗證令牌
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
}
}
代碼
我越來越無令牌作爲回報,我的猜測是我已發送持有人我認爲它可能需要解析,如果是這樣的話?
感謝您的這個問題。不確定如何驗證令牌。 –