Documentation
¶
Overview ¶
If refresh_token is saved in postgresql's JsonField, use this package. But saving refresh_token in a separate table is better.
Index ¶
- type RefreshToken
- type RefreshTokenConfig
- type RefreshTokens
- func (tokens *RefreshTokens) ContainsTokenString(tokenString string) bool
- func (tokens *RefreshTokens) ContainsValidTokenString(tokenString string) bool
- func (tokens *RefreshTokens) GetMarshaledTokens() []byte
- func (tokens *RefreshTokens) GetTokenAndUpdate(ip, platform, browser string, config *RefreshTokenConfig) (refreshToken string, updated bool)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type RefreshToken ¶
type RefreshToken struct {
Token string `json:"refresh_token"`
ExpiresAt time.Time `json:"expires_at"`
IP string `json:"ip"`
Platform string `json:"platform"`
Browser string `json:"browser"`
}
['refresh_token', '过期的datetime', 'ip', '设备信息', 'Browser信息']
func (*RefreshToken) Expired ¶
func (token *RefreshToken) Expired() bool
NotExpired 一个refresh_token是否过了有效期
type RefreshTokenConfig ¶
func (*RefreshTokenConfig) NewRefreshToken ¶
func (cfg *RefreshTokenConfig) NewRefreshToken(ip, platform, browser string) RefreshToken
type RefreshTokens ¶
type RefreshTokens struct {
Tokens []RefreshToken `json:"refresh_tokens"`
}
一组refresh token的结构体,用于存在用户privateInfo上
func (*RefreshTokens) ContainsTokenString ¶
func (tokens *RefreshTokens) ContainsTokenString(tokenString string) bool
仅判断tokens列表中的token是否包含tokenString,不判断这个token是否过期
func (*RefreshTokens) ContainsValidTokenString ¶
func (tokens *RefreshTokens) ContainsValidTokenString(tokenString string) bool
仅判断tokens列表中的token是否包含tokenString,且判断这个token是否过期
func (*RefreshTokens) GetMarshaledTokens ¶
func (tokens *RefreshTokens) GetMarshaledTokens() []byte
func (*RefreshTokens) GetTokenAndUpdate ¶
func (tokens *RefreshTokens) GetTokenAndUpdate(ip, platform, browser string, config *RefreshTokenConfig) ( refreshToken string, updated bool)
GetTokenAndUpdate 提供用户登录的ip、平台、浏览器(不做判断),获得refresh_token(string),并根据ip、平台是否相同,来更新有效的refresh_token list 此过程中,会删除过期的refresh_token。 如果删除了过期的refresh_token,或者生成了新的refresh_token,则updated返回true(老数据被改变),否则false。
Click to show internal directories.
Click to hide internal directories.