草庐IT

Jwt-Auth

全部标签

go - 无法获取额外信息。来自 gin-jwt 中的登录响应

我尝试将gin-jwt应用于我的React应用程序的后端(gin),想要获取用户ID和角色信息。对于RBAC。我可以登录并相应地获取token,但是当我尝试从LoginResponse函数获取角色信息时,用户ID和角色字段为空。我想知道登录的流程,为什么它不起作用?有效载荷函数:authMiddleware,err:=jwt.New(&jwt.GinJWTMiddleware{Realm:"testzone",Key:[]byte("mysecretkey"),Timeout:time.Hour,MaxRefresh:time.Hour,IdentityKey:identityKey,

go - 如何将 JWT 身份验证添加到 swagger (go + echo + swaggo/swag)

我正在使用swaggo(https://github.com/swaggo/swag)为我的API自动创建有效的swagger规范。swagger规范允许我运行所有API端点并接收响应。然后我将JWT身份验证添加到我的所有端点。现在我无法使用swagger规范来运行任何端点,因为它总是无法通过身份验证。我需要向每个端点添加哪些注释,以配置Swagger规范以允许传递JWT?我已经在https://github.com/swaggo/swag阅读了自述文件谷歌搜索无果。 最佳答案 似乎添加到每个端点的这些评论起到了作用......//

go - 请求 token 时获取 nil 而不是 *jwt.Token

我正在尝试使用token来验证用户角色,但出现错误:interfaceconversion:interface{}isnil,not*jwt.Token我做了类似的事情来请求用户ID,它起作用了,但在这里我似乎无法获得token。代码:funcAdminRoutes(nextecho.HandlerFunc)echo.HandlerFunc{returnfunc(cecho.Context)error{u:=c.Get("user").(*jwt.Token)claims:=u.Claims.(jwt.MapClaims)for_,item:=rangeroutes[claims["r

json - 将 JWT 负载转换回结构

我在将JWT负载转换回golang中的结构时遇到问题我有两台相互通信的服务器,并且有一个JWT授权来加强安全性。有效负载使用以下结构typeResponseBodystruct{Headerdto.MessageHeader`json:"message_header"`OrderBodyParamsdto.OrderBodyParams`json:"order_response"`Statusstring`json:"status"`ErrorMessagestring`json:"errors"`}服务器A采用此结构-将其转换为字节日期并将其作为JWT负载发送相关代码如下funcre

使用 Cloud Run 的内部 CLI 的 Google Cloud Auth

我们使用CloudRun构建了多项服务。我们的目标是构建一个内部CLI,允许我们的开发人员调用这些服务。我们在生成id_token以与位于CloudRun服务前面的IdentityAwareProxy一起使用时遇到问题。根据文档,可以使用gcloud和gcloudauthprint-identity-token命令调用您的CloudRun服务。这很好用。这也避免了必须下载服务帐户凭据并将其传递给我们的开发人员,因为此方法会利用您的应用程序默认凭据。我们已经尝试在Go中实现一些东西来复制此print-identity-token功能,但没有成功。生成的id_token向我们所有的Clou

rest - 在使用 Auth0 的 golang 服务器中找出当前用户名

我正在使用auth0和golang作为休息服务,其实现与here类似。.我想知道如何找出当前触发某个API调用的用户的名称-例如,如果有人请求http://localhost:3000/products-中的go处理程序这个案例看起来像这样:varProductsHandler=http.HandlerFunc(func(whttp.ResponseWriter,r*http.Request){payload,_:=json.Marshal(products)w.Header().Set("Content-Type","application/json")w.Write([]byte(

go - JWT 始终有效,即使传递的参数不正确

我正在使用jwt-go库,并且我已经编写了用于在我的应用程序中实现它的测试。但是,无论我创建什么token,它都会被返回为有效。我猜我不是在检查什么。documentation已过时,因为声明不再支持索引。这是我的应用程序代码://AuthService-providesauthenticationtypeAuthServicestruct{}//CreateToken-signsandencryptsauthtokenfunc(a*AuthService)CreateToken(email,passwordstring)(string,error){token:=jwt.New(jw

go - 如何在 go 中测试验证 JWT 路由

我想在JWT身份验证中测试protected路由。已经尝试接收响应并尝试传递token,但它只返回401作为代码响应。packageroutesimport("fmt""github.com/stretchr/testify/assert""net/http""net/http/httptest""testing")funcperformRequest(rhttp.Handler,method,pathstring,t*testing.T)*httptest.ResponseRecorder{token:="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ey

go - 在 jwt-go 中解析 JWT Auth token 时, key 类型无效

我正在GoLangAPI中设置安全中间件,似乎所有设置都正确,但我收到错误“key类型无效”。我已确认我的签名算法是RS256并且中间件选项已配置@SigningMethod:jwt.SigningMethodRS256我有一个有效的token……中间件中的所有其他内容都通过了。中间件中此错误的入口点是jwt.ParseRSAPrivateKeyFromPEM方法。我已将错误隔离在github.com/dgrijalva/jwt-go/rsa.go行的Verify()中:62是抛出的ErrInvalidKeyType。到目前为止,所有参数看起来都可靠且合适(例如m|signingStr

go - Go Martini 中的 Auth0

我正在尝试在Go中将Auth0与Martini一起使用。我正在使用他们的examples但无论我尝试什么,我似乎都无法让它工作。这是我的代码:packagemainimport("flag""github.com/go-martini/martini""github.com/martini-contrib/render""github.com/auth0/go-jwt-middleware""encoding/base64""github.com/dgrijalva/jwt-go""net/http")funcmain(){m:=martini.Classic()port:=flag.