本文整理匯總了Golang中github.com/RangelReale/osin.AccessData.IsExpired方法的典型用法代碼示例。如果您正苦於以下問題:Golang AccessData.IsExpired方法的具體用法?Golang AccessData.IsExpired怎麽用?Golang AccessData.IsExpired使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/RangelReale/osin.AccessData
的用法示例。
在下文中一共展示了AccessData.IsExpired方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: LoadAccess
// LoadAccess retrieves access data by token. osin.Client information MUST be loaded together.
// osin.AuthorizeData and osin.AccessData DON'T NEED to be loaded if not easily available.
// Optionally can return error if expired.
func (s *OAuth2Storage) LoadAccess(token string) (*osin.AccessData, error) {
oad := new(OAuth2AccessData)
if err := Db().Model(OAuth2AccessData{}).Where(&OAuth2AccessData{AccessToken: token}).Scan(oad); err != nil {
return nil, errors.New("LoadAccess: AccessToken not found")
}
var ret osin.AccessData
ret.CreatedAt = oad.CreatedAt
ret.ExpiresIn = int32(oad.ExpiresIn)
if ret.IsExpired() {
return nil, errors.New("Access token expired")
}
if client, err := s.GetClient(strconv.FormatUint(oad.ClientID, 10)); err == nil {
ret.Client = client
} else {
return nil, err
}
ret.AccessToken = token
ret.Scope = oad.Scope
ret.RedirectUri = oad.RedirectURI
ret.UserData = oad.UserID
if oad.RefreshTokenID.Valid {
var refreshToken OAuth2RefreshToken
if err := Db().First(&refreshToken, uint64(oad.RefreshTokenID.Int64)); err != nil {
return nil, err
}
ret.RefreshToken = refreshToken.Token
}
return &ret, nil
}