gpt4 book ai didi

go - go 中输入字节 0 处的非法 base64 数据

转载 作者:IT王子 更新时间:2023-10-29 02:04:09 26 4
gpt4 key购买 nike

我从 go 和 jwt 开始。

出于测试目的,我有一个硬编码的 secret 。以及获取 key 的路径

const secretKey = "YOLOSWAG"

var mySigningKey = []byte(secretKey)


var GetTokenHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
token := jwt.New(jwt.SigningMethodHS256)
token.Claims = jwt.MapClaims{
"admin": true,
"name": "John Doe",
"exp": time.Now().Add(time.Hour * 24).Unix(),
}

tokenString, _ := token.SignedString(mySigningKey)

w.Write([]byte(tokenString))
})

var jwtMiddleware = jwtmiddleware.New(jwtmiddleware.Options{
ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
return mySigningKey, nil
},
SigningMethod: jwt.SigningMethodHS256,
})

然后将 jwtMiddleware 添加到我的路由中

r.Handle("/protected", jwtMiddleware.Handler(ProtectedTestHandler)).Methods("GET")

所以 localhost:3000/protected 会输出一个错误 Required authorization token not found

这有效。

/token 将输出我的 token 。这也行。

最后/protected with (in postman) Authorization: Bearer {token}

将在输入字节 0 处输出非法的 base64 数据我真的很困惑为什么会这样。

最佳答案

不要在您的 token 周围使用花饰。许多地方的文档令人困惑,因为它将您的 token 包装在 curl 中。它意味着代表一个占位符。你实际上不应该用它们包装你的 token 。不要这样做。

Bearer {my-special-token}

应该是这样

Bearer my-special-token

关于go - go 中输入字节 0 处的非法 base64 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38932802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com