gin框架使用JWT鉴定权限

本文介绍了如何在Gin框架中利用golang-jwt/jwt库进行JWT鉴权。首先,文章指出dgrijalva/jwt-go因存在漏洞而被替换为官方社区版golang-jwt/jwt。接着,详细阐述了JWT的结构和工作原理,包括Header、Claims和Signature三部分。然后,展示了如何在HandlerFunc中生成和设置token,以及在中间件中解析token并验证权限。通过设置中间件,当token无效时,返回无权限;有效时,将claims中的用户信息保存在context中。最后,讨论了登录后如何在响应头中设置cookie以及常规HandlerFunc如何利用这些信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

目前主流的 gin 的鉴权框架有 github 上的 dgrijalva/jwt-go 和 golang-jwt/jwt,但是 dgrijalva/jwt-go 以前用的特别多,但是有一些漏洞,现在更推荐的是 golang-jwt/jwt 官方社区版

github:https://github.com/golang-jwt/jwt

官网:https://pkg.go.dev/github.com/golang-jwt/jwt/v4

JWT(JSON Web Tokens),

引入

go get -u github.com/golang-jwt/jwt

import "github.com/golang-jwt/jwt"

源码

// A JWT Token.  Different fields will be used depending on whether you're
使用Gin框架使用JWT的过程中,可以借助GitHub上别人封装好的包来简化开发工作,比如GitHub - appleboy/gin-jwt: JWT Middleware for Gin framework。这个包提供了JWT身份验证中间件,并且还包含其他处理程序功能,比如生成令牌的登录API和刷新令牌的处理程序。你可以通过自定义Claims来实现JWT的个性化设置,同时还需要进行前期准备,生成和解析JWT令牌。总之,使用这个JWT中间件可以使得在Gin框架使用JWT更加方便和安全。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [在gin框架使用JWT](https://blog.youkuaiyun.com/m0_56137272/article/details/127121590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [在Gin框架使用JWT](https://blog.youkuaiyun.com/Gherbirthday0916/article/details/129517817)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [gin-jwt:JWT Gin中间件框架](https://download.youkuaiyun.com/download/weixin_42169674/18199212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abcnull

您的打赏是我创作的动力之一

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值