代码拉取完成,页面将自动刷新
package signature
import "time"
// Zone Token中的用户激活游戏区信息
type Zone struct {
ZoneID uint64 `json:"zone_id"`
ZoneName string `json:"zone_name"`
ActivatedTime time.Time `json:"activated_time"`
}
// Token 用户Token
type Token struct {
UID uint64 `json:"uid"`
Username string `json:"username"`
Timestamp int64 `json:"timestamp"`
ExpiresAfter int64 `json:"expires_after"`
Zones []Zone `json:"zones"`
}
// Expired Token 是否过期
func (t *Token) Expired() bool {
signTime := time.Unix(t.Timestamp, 0)
if time.Now().Sub(signTime) > time.Duration(t.ExpiresAfter)*time.Second {
return true
}
return false
}
// IsInternal 是否是内部用户,内部用户用于测试,只允许在内部测试服务器上使用
func (t *Token) IsInternal() bool { return t.UID <= 10000 }
// CheckUsercenterToken 检查一个用户中心的Token串是否有效,有效则反序列化并返回Token对象
func CheckUsercenterToken(tokenStr string) (*Token, error) {
pub, err := GetKey(`usercenter`).Pub()
if err != nil {
return nil, err
}
token := &Token{}
err = CheckToken(tokenStr, pub, token)
if err != nil {
return nil, err
}
return token, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。