github.com/SupenBysz/gf-admin-community@v0.7.4/sys_service/sys_jwt.go (about)

     1  // ================================================================================
     2  // Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
     3  // You can delete these comments if you wish manually maintain this interface file.
     4  // ================================================================================
     5  
     6  package sys_service
     7  
     8  import (
     9  	"context"
    10  
    11  	"github.com/SupenBysz/gf-admin-community/sys_model"
    12  	"github.com/SupenBysz/gf-admin-community/sys_model/sys_enum"
    13  	"github.com/SupenBysz/gf-admin-community/sys_model/sys_hook"
    14  	"github.com/gogf/gf/v2/net/ghttp"
    15  )
    16  
    17  type (
    18  	IJwt interface {
    19  		// InstallHook 安装Hook
    20  		InstallHook(userType sys_enum.UserType, hookFunc sys_hook.JwtHookFunc) int64
    21  		// UnInstallHook 卸载Hook
    22  		UnInstallHook(savedHookId int64)
    23  		// CleanAllHook 清除所有Hook
    24  		CleanAllHook()
    25  		// GenerateToken 创建一个token
    26  		GenerateToken(ctx context.Context, user *sys_model.SysUser) (response *sys_model.TokenInfo, err error)
    27  		// CreateToken 创建一个token
    28  		CreateToken(claims *sys_model.JwtCustomClaims) (string, error)
    29  		// RefreshToken 刷新Token,并发安全
    30  		RefreshToken(oldToken string, claims *sys_model.JwtCustomClaims) (string, error)
    31  		Middleware(r *ghttp.Request)
    32  		MakeSession(ctx context.Context, tokenString string) *sys_model.JwtCustomClaims
    33  	}
    34  )
    35  
    36  var (
    37  	localJwt IJwt
    38  )
    39  
    40  func Jwt() IJwt {
    41  	if localJwt == nil {
    42  		panic("implement not found for interface IJwt, forgot register?")
    43  	}
    44  	return localJwt
    45  }
    46  
    47  func RegisterJwt(i IJwt) {
    48  	localJwt = i
    49  }