am_jwt

package
v0.0.0-...-ea654c3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OKCode                  = 2000
	InternalServerErrorCode = 5000
	ErrCodeMalformed        = 4001 // token格式错误
	ErrCodeExpired          = 4002 // token过期
	ErrCodeNotValidYet      = 4003 // token尚未生效
	ErrCodeSignatureInvalid = 4004 // token签名无效
	ErrCodeInvalidRole      = 4005 // token权限不符
	ErrCodeNoAuthHeader     = 4006 // 没有对应的请求头
	ErrCodeMalformedReq     = 4007 // 请求头格式不正确
)

工具返回代码

View Source
const (
	ROOTROLE  = 4 // root权限,最大的权限,整个系统的超级管理权限
	ADMINROLE = 3 // admin权限,只能由root授予,拥有管理用户的权限,但不具备修改root的权限
	USERROLE  = 2 // user权限,普通用户权限
	TEMPROLE  = 1 // temp权限,临时权限,该权限仅用于注册和修改密码的临时使用
)

不同身份权限,数字越大,权限越大。高权限用户可以执行低权限用户的所有操作

Variables

View Source
var (
	MalformedError         = errors.New("malformed jwt")
	ExpiredAndDiedError    = errors.New("expired jwt")
	ExpiredButCanSaveError = errors.New("expired jwt, but can save it")
	NotValidError          = errors.New("invalid jwt")
	SignatureError         = errors.New("expired jwt")
	InvalidRoleError       = errors.New("invalid role")
	UnknownError           = errors.New("unknown jwt error")
)

工具错误类型

Functions

func ClaimToRole

func ClaimToRole(claim string) int

身份字段转换权限等级数字

func GenToken

func GenToken(claims *TokenClaims) (string, error)

* 生成token字串 * 参数: * 1. claims *TokenClaims token参数

func JWTAuthMiddleware

func JWTAuthMiddleware(role string, secret string) func(c *gin.Context)

* JWT中间件

func Kickoff

func Kickoff(token string) (bool, error)

* 灭活token * 参数: * 1. token string:需要灭活的token字串

Types

type TokenClaims

type TokenClaims struct {
	Email              string // 用户的email
	Role               string // 用户的身份登记
	Exp                int    // token过期时间,以秒计数
	Issuer             string // 签发人
	SECRET             string // token secret
	PUBLIC             string // token public
	jwt.StandardClaims        // standard claims,无需用户设定
}

token claims

func ParseToken

func ParseToken(token string, roleRequired int, secret string) (*TokenClaims, error)

* 解析token * 参数: * 1. token string:要解析的token字串 * 2. roleRequired int:验证通过需要的权限等级 * 3. secret string:解码密钥

type TokenConfig

type TokenConfig struct {
	Issuer string `json:"issuer"`
}

token config

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL