1 Star 2 Fork 0

falling-ts/gower

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
claims.go 943 Bytes
一键复制 编辑 原始数据 按行查看 历史
falling-ts 提交于 2023-03-23 05:33 +08:00 . feat: 完成退出功能
package auth
import "github.com/golang-jwt/jwt/v5"
type Claims struct {
UpdateDur *jwt.NumericDate `json:"upd,omitempty"` // Token 更新时限
jwt.RegisteredClaims
}
// Set 设置数据
func (c *Claims) Set(args ...any) *Claims {
for _, arg := range args {
c.decideType(arg)
}
return c
}
func (c *Claims) decideType(arg any) {
switch arg.(type) {
case string:
str := arg.(string)
if c.Issuer == "" {
c.Issuer = str
break
}
if c.Subject == "" {
c.Subject = str
break
}
if c.ID == "" {
c.ID = str
}
case jwt.ClaimStrings:
c.Audience = arg.(jwt.ClaimStrings)
case []string:
c.Audience = arg.([]string)
case *jwt.NumericDate:
time := arg.(*jwt.NumericDate)
if c.UpdateDur == nil {
c.UpdateDur = time
break
}
if c.ExpiresAt == nil {
c.ExpiresAt = time
break
}
if c.NotBefore == nil {
c.NotBefore = time
break
}
if c.IssuedAt == nil {
c.IssuedAt = time
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/falling-ts/gower.git
git@gitee.com:falling-ts/gower.git
falling-ts
gower
gower
v0.9.2

搜索帮助