optimized_go_tools/am_docs/jwt.md
2024-07-08 11:14:19 +08:00

999 B
Raw Blame History

JWT 工具套件

用于JWTJson Web Token的生成和验证。工具包附带一个全功能中间件。

使用方法

Token的生成

// 配置claims
var tokenClaims = am_jwt.TokenClaims{
	Email: "example@example.com", // 用户的邮件地址
	Role: "user", // Role有四个取值级别root、admin、user和temp其中temp仅用于注册和重设密码
	Exp: 600, // token过期时间以s为计数单位
	Issuer: "James", // 签发人
	SECRET: "ROMANCETILLDEATH", // 签发密钥
}

var token = am_jwt.GenToken(&tokenClaims) // 生成token字串

Token验证中间件的使用

按照普通中间件的使用方式加到需要的controller上即可。

gin.SetMode(gin.DebugMode)
r := gin.Default()
// 参数是该controller访问所需要的权限。比该权限高的token均可访问但temp除外需要权限为temp的controlleruser权限无法访问。
r.POST("/test", am_jwt.JWTAuthMiddleware("user"), func(context *gin.Context) {
	...
})