optimized_go_tools/am_docs/jwt.md

29 lines
999 B
Markdown
Raw Permalink Normal View History

2024-07-08 03:14:19 +00:00
# JWT 工具套件
用于JWTJson Web Token的生成和验证。工具包附带一个全功能中间件。
## 使用方法
### Token的生成
```go
// 配置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上即可。
```go
gin.SetMode(gin.DebugMode)
r := gin.Default()
// 参数是该controller访问所需要的权限。比该权限高的token均可访问但temp除外需要权限为temp的controlleruser权限无法访问。
r.POST("/test", am_jwt.JWTAuthMiddleware("user"), func(context *gin.Context) {
...
})
```