英文:
Calling Token Values in Other Functions with JWT Token in Golang
问题
我正在使用golang开发一个项目。我使用的框架有gin、gorm、jwt和crypto。当我在用户控制器页面中使用c.GET时,我定义了登录和注册函数以及令牌,它可以正常工作。但是当我尝试在其他页面中使用它时,它返回nil。我该如何使其在其他页面中也能正常工作?
这是我的验证函数,它可以正常工作:
func Validate(c *gin.Context) {
user, _ := c.Get("user")
un := user.(Models.User).UserName
c.JSON(http.StatusOK, gin.H{
"message": user,
"username": un,
})
}
这是我在其他页面中的调用,它返回nil:
userck, _ := c.Get("user")
i := userck.(Models.User).ID
谢谢你的帮助。
英文:
I am working on a project using golang. The frameworks I used are gin,gorm, jwt, crypto. When I used c.GET in user controllers page which I define login and signup function as well as token it works but when I try to use it on other pages it returns nil.How can I make this work in other pages too?
Here is my validate function which works;
func Validate(c *gin.Context) {
user, _ := c.Get("user")
un := user.(Models.User).UserName
c.JSON(http.StatusOK, gin.H{
"message": user,
"username": un,
})
}
Here is my call on the other page which returns nil;
userck, _ := c.Get("user")
i := userck.(Models.User).ID
Thank you for your help.
答案1
得分: 1
谢谢你的时间,我对后端编程完全是新手。我发现我需要为所有路由添加中间件进行验证,而且它起作用了。
英文:
Thank you for your time, I am all new to backend programming. I figure out that I needed to add middleware to all roots for validation and it worked.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论