Ai
7 Star 17 Fork 27

go-course/go9

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
token.go 689 Bytes
一键复制 编辑 原始数据 按行查看 历史
Mr.Yu 提交于 2023-02-19 17:47 +08:00 . 补充Token校验
package token
import (
"fmt"
"time"
)
func NewToken() *Token {
return &Token{
IssueAt: time.Now().Unix(),
AccessExpiredAt: 600,
RefreshExpiredAt: 600 * 4,
Status: &Status{},
Meta: map[string]string{},
}
}
// 检查Token可用性
func (t *Token) CheckAliable() error {
// 检查状态
if t.Status.IsBlock {
return fmt.Errorf(t.Status.BlockReason)
}
// 检查是否过期
dura := time.Since(t.ExpiredTime())
if dura >= 0 {
return fmt.Errorf("令牌已经过期")
}
return nil
}
func (t *Token) ExpiredTime() time.Time {
dura := time.Duration(t.AccessExpiredAt * int64(time.Second))
return time.Unix(t.IssueAt, 0).Add(dura)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/go-course/go9.git
git@gitee.com:go-course/go9.git
go-course
go9
go9
2c311f48cd84

搜索帮助