Documentation ¶
Index ¶
- Constants
- func GetRequestToken(r *ghttp.Request) (token string, err error)
- type MyCacheToken
- type MyRequestToken
- type MyToken
- func (m *MyToken) DecrypToken(ctx context.Context, token string) (*MyRequestToken, error)
- func (m *MyToken) EncryptToken(ctx context.Context, userKey string) (*MyRequestToken, error)
- func (m *MyToken) GenerateToken(ctx context.Context, useKey string, data interface{}) (*MyCacheToken, error)
- func (m *MyToken) RemoveCache(ctx context.Context, cacheKey string) error
- func (m *MyToken) ValidToken(ctx context.Context, token string) (myCacheToken *MyCacheToken, err error)
Constants ¶
View Source
const ( CacheModeCache = 1 CacheModeRedis = 2 TokenDelimiter = "_" EncryptKey = "12345678912345678912345678912345" CacheKeyPrefix = "Token:" //CacheTimeout = 10 * 60 * 1000 // 10分钟 CacheTimeout = 10 * 60 * 10000 CacheMaxRefresh = CacheTimeout / 2 )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type MyCacheToken ¶
type MyRequestToken ¶
type MyToken ¶
func (*MyToken) DecrypToken ¶
* * decrypToken * @Description: 解密token。token的生成规则是base64(gaes.Encrypt(base64(userKey)+TokenDelimiter+uuid)) * @return *MyRequestToken * @return error
func (*MyToken) EncryptToken ¶
*
- EncryptToken
- @Description:加密生成token. token的生成规则是base64(gaes.Encrypt(base64(userKey)+TokenDelimiter+uuid)): 其中TokenDelimiter默认为_; 为什么要base64(userKey),因为可能userKey包含_; 标准base64是使用 `数字`+`大小写字母`+`/`+`+`以及`=`组成 解释:为什么还要对token进行加解密?答:加密因为token携带了userKey信息,且便于过滤掉不合法token;
- @param ctx
- @param userKey 用户唯一标识
- @return *MyRequestToken
- @return error
func (*MyToken) GenerateToken ¶
func (m *MyToken) GenerateToken(ctx context.Context, useKey string, data interface{}) (*MyCacheToken, error)
* * GenerateToken * @Description: 生成缓存token * @param useKey 唯一值 * @param data 存入Token的信息 * @return *MyCacheToken * @return error
func (*MyToken) RemoveCache ¶
* * RemoveCache * @Description: 删除缓存 * @param ctx * @param cacheKey * @return error
func (*MyToken) ValidToken ¶
func (m *MyToken) ValidToken(ctx context.Context, token string) (myCacheToken *MyCacheToken, err error)
* * ValidToken * @Description: 验证token * @param ctx * @param token * @return MyCacheToken
Click to show internal directories.
Click to hide internal directories.