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

29 lines
999 B
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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) {
...
})
```