signature is invalid ketika cek token di Gin

Hallo, saya mau bertanya. disini saya punya error signature is invalid ketika cek token JWT dengan bahasa golang di framework GIN.

kira2 apa ya solusinya ?

terima kasih

var JWT_SECRET = "SECRET-KEY"

// base64.URLEncoding.DecodeString(JWT_SECRET)
func IsAuth() gin.HandlerFunc {
    log.Print("bro ", CheckJWT())
    return CheckJWT()
}

func CheckJWT() gin.HandlerFunc {
    return func(c *gin.Context) {
        log.Print("cuk ", JWT_SECRET)
        authHeader := c.Request.Header.Get("Authorization")
        bearerToken := strings.Split(authHeader, " ")
        // log.Print("ini ", bearerToken)
        token, err := jwt.Parse(bearerToken[1], func(token *jwt.Token) (interface{}, error) {
            // Don't forget to validate the alg is what you expect:
            if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
                return nil, fmt.Errorf("Unexpected signing method: %v", token.Header["alg"])
            }

            // hmacSampleSecret is a []byte containing your secret, e.g. []byte("my_secret_key")
            return []byte(JWT_SECRET), nil
        })

        if claims, ok := token.Claims.(jwt.MapClaims); ok && token.Valid {
            fmt.Println(claims["foo"], claims["nbf"])
        } else {
            log.Print("err ", err)
            c.JSON(422, gin.H{
                "msg":   " Invalid Token",
                "error": err})
            c.Abort()
            return
        }
    }
}
avatar septiansah
@septiansah

10 Kontribusi 0 Poin

Dipost 3 tahun yang lalu

Tanggapan

halo, bisa tampilkan juga cara kamu mau datpakannya gimana? apa yang kamu lakukan terus dapat invalid maksudnya

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban