Documentation
¶
Index ¶
- Variables
- func GenToken(UserID int64, Username string) (atoken, rtoken string, err error)
- func GenTokenWithScope(UserID int64, Username, scope string) (atoken, rtoken string, err error)
- func Init(AMinute, RHour time.Duration, TokenIssuer string)
- func RefreshToken(atoken, rtoken string) (newAtoken, newRtoken string, err error)
- func SetSecretKey(secret string) error
- func SetSecretKeys(secrets ...string) error
- type MyClaim
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrorInvalidToken = errors.New("verify Token Failed") // ErrSecretNotConfigured 表示 JWT 签名密钥尚未注入,签发与验证都会拒绝执行。 ErrSecretNotConfigured = errors.New("JWT secret key is not configured, call SetSecretKey first") // ErrUnsupportedSigningMethod 表示 token 使用了签名算法白名单之外的算法。 ErrUnsupportedSigningMethod = errors.New("JWT signing method is not allowed") // ErrEmptySecret 表示注入的密钥列表为空或包含空密钥。 ErrEmptySecret = errors.New("JWT secret list is empty") )
Functions ¶
func GenTokenWithScope ¶
GenTokenWithScope 颁发携带权限声明的 token。 scope 是逗号分隔的权限标识,认证中间件可要求匹配指定 scope。
func RefreshToken ¶
RefreshToken 通过 refresh token 刷新 atoken 先完整校验 refresh token(算法、签发者、有效期),再尝试从旧 access token 恢复用户信息。
func SetSecretKey ¶
SetSecretKey 注入单个 JWT 签名密钥(同时作为验证密钥)。 出于安全考虑,密钥长度必须至少 32 字节;未注入密钥时签发与验证都会返回错误。
func SetSecretKeys ¶
SetSecretKeys 注入 JWT 密钥列表,支持密钥轮换: 列表首个密钥用于签发新 token;全部密钥均可用于验证(轮换宽限期)。 每个密钥长度必须至少 32 字节。
Types ¶
Click to show internal directories.
Click to hide internal directories.