Documentation ¶
Index ¶
- type AccountDetail
- type AuthTokenItem
- type ClaimsItem
- type HookHandler
- type JWTClaimsItem
- type JWTHandler
- func (j *JWTHandler) CreateToken(detail AccountDetail) (tokenItem *TokenItem, err error)
- func (j *JWTHandler) Ctx(ctx context.Context) *JWTHandler
- func (j *JWTHandler) FillPrefixToken(token string) string
- func (j *JWTHandler) FilterPrefix(token string) string
- func (j *JWTHandler) Hook(handler HookHandler) *JWTHandler
- func (j *JWTHandler) ParseToken(token string) (claims *RegisteredClaimsItem, err error)
- func (j *JWTHandler) ReadHook(token string) (*AuthTokenItem, error)
- func (j *JWTHandler) RefreshToken(refreshToken string) (tokenItem *TokenItem, err error)
- func (j *JWTHandler) RemoveHook(token string) error
- func (j *JWTHandler) VerifyHook(token string) error
- type RegisteredClaimsItem
- type TokenItem
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccountDetail ¶
type AccountDetail struct { Uid uint // 用户ID Account string // 账户 Nickname string // 昵称 RefreshCount uint // 刷新次数 }
AccountDetail 账户信息
type AuthTokenItem ¶
type AuthTokenItem struct { Used bool // Token是否已使用 RefreshCount uint // 刷新次数 TokenItem // token信息 }
AuthTokenItem 刷新授权Token信息
type ClaimsItem ¶
type ClaimsItem struct { Issuer string // JWT的签发者。例如,如果一个网站发行了一个JWT,那么签发者可能就是这个网站的URL Subject string // JWT的主题。主题通常是发行者的标识符,或者是表示JWT所代表的对象或用户的标识符。 ExpireUnit string // 效期单位,h小时,d天 ExpireAt uint // 过期时间 SigningAlgorithm string // 加密方式: Secret string // 加密密钥 TokenLookup string // Token检索模式, Header TokenHeadName string // token在请求头时的名称,默认值为Bearer MaxRefreshCount uint // Token最大刷新次数 }
ClaimsItem JWT配置要求属性
type HookHandler ¶
type HookHandler struct { Create createHook // 创建缓存Token Read readHook // 读取缓存Token Remove removeHook // 移除缓存Token Verify verifyHook // 验证缓存Token }
HookHandler JWT Hook自定义处理
type JWTClaimsItem ¶
type JWTClaimsItem struct { Claims jwt.RegisteredClaims // 注册签名要求 SignMethod jwt.SigningMethod // 签名加密方式 ClaimsItem }
JWTClaimsItem 注册JWT属性
type JWTHandler ¶
type JWTHandler struct { HookHandler // contains filtered or unexported fields }
JWTHandler JWT 服务处理
func (*JWTHandler) CreateToken ¶
func (j *JWTHandler) CreateToken(detail AccountDetail) (tokenItem *TokenItem, err error)
创建JWT Token
func (*JWTHandler) FillPrefixToken ¶
func (j *JWTHandler) FillPrefixToken(token string) string
FillPrefixToken Token返回填充前缀后token
func (*JWTHandler) FilterPrefix ¶
func (j *JWTHandler) FilterPrefix(token string) string
FilterPrefix 过滤Token前缀和右边空格
func (*JWTHandler) Hook ¶
func (j *JWTHandler) Hook(handler HookHandler) *JWTHandler
Hook 自定义Hook操作 handler: 参数 Read: 读取Token缓存 Create:创建Token缓存 Remove:移除Token缓存 Verify:验证缓存Token是否存在
func (*JWTHandler) ParseToken ¶
func (j *JWTHandler) ParseToken(token string) (claims *RegisteredClaimsItem, err error)
ParseToken 解析Token
func (*JWTHandler) ReadHook ¶
func (j *JWTHandler) ReadHook(token string) (*AuthTokenItem, error)
ReadHook 读取缓存授权Token数据
func (*JWTHandler) RefreshToken ¶
func (j *JWTHandler) RefreshToken(refreshToken string) (tokenItem *TokenItem, err error)
RefreshToken 根据旧的Token创建新的Token
func (*JWTHandler) RemoveHook ¶
func (j *JWTHandler) RemoveHook(token string) error
RemoveHook 移除Token-刷新token后直接删除旧token或退出登录
func (*JWTHandler) VerifyHook ¶
func (j *JWTHandler) VerifyHook(token string) error
VerifyHook 验证Token是否存在
type RegisteredClaimsItem ¶
type RegisteredClaimsItem struct { AccountDetail jwt.RegisteredClaims }
RegisteredClaimsItem JWT账户发行属性
Click to show internal directories.
Click to hide internal directories.