| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /*
- * @desc:token功能
- * @company:云南奇讯科技有限公司
- * @Author: yixiaohu<yxh669@qq.com>
- * @Date: 2022/9/27 17:01
- */
- package token
- import (
- "github.com/gogf/gf/v2/frame/g"
- "github.com/gogf/gf/v2/os/gctx"
- "github.com/tiger1103/gfast-token/gftoken"
- "github.com/tiger1103/gfast/v3/internal/app/common/consts"
- commonModel "github.com/tiger1103/gfast/v3/internal/app/common/model"
- "github.com/tiger1103/gfast/v3/internal/app/system/service"
- "github.com/tiger1103/gfast/v3/library/liberr"
- )
- type sToken struct {
- *gftoken.GfToken
- }
- func New() *sToken {
- var (
- ctx = gctx.New()
- opt *commonModel.TokenOptions
- err = g.Cfg().MustGet(ctx, "gfToken").Struct(&opt)
- fun gftoken.OptionFunc
- )
- liberr.ErrIsNil(ctx, err)
- if opt.CacheModel == consts.CacheModelRedis {
- fun = gftoken.WithGRedis()
- } else {
- fun = gftoken.WithGCache()
- }
- return &sToken{
- GfToken: gftoken.NewGfToken(
- gftoken.WithCacheKey(opt.CacheKey),
- gftoken.WithTimeout(opt.Timeout),
- gftoken.WithMaxRefresh(opt.MaxRefresh),
- gftoken.WithMultiLogin(opt.MultiLogin),
- gftoken.WithExcludePaths(opt.ExcludePaths),
- fun,
- ),
- }
- }
- func init() {
- service.RegisterGToken(New())
- }
|