187 lines
4.5 KiB
Go
187 lines
4.5 KiB
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/superseriousbusiness/oauth2/v4"
|
|
)
|
|
|
|
// NewToken create to token model instance
|
|
func NewToken() *Token {
|
|
return &Token{}
|
|
}
|
|
|
|
// Token token model
|
|
type Token struct {
|
|
ClientID string `bson:"ClientID"`
|
|
UserID string `bson:"UserID"`
|
|
RedirectURI string `bson:"RedirectURI"`
|
|
Scope string `bson:"Scope"`
|
|
Code string `bson:"Code"`
|
|
CodeChallenge string `bson:"CodeChallenge"`
|
|
CodeChallengeMethod string `bson:"CodeChallengeMethod"`
|
|
CodeCreateAt time.Time `bson:"CodeCreateAt"`
|
|
CodeExpiresIn time.Duration `bson:"CodeExpiresIn"`
|
|
Access string `bson:"Access"`
|
|
AccessCreateAt time.Time `bson:"AccessCreateAt"`
|
|
AccessExpiresIn time.Duration `bson:"AccessExpiresIn"`
|
|
Refresh string `bson:"Refresh"`
|
|
RefreshCreateAt time.Time `bson:"RefreshCreateAt"`
|
|
RefreshExpiresIn time.Duration `bson:"RefreshExpiresIn"`
|
|
}
|
|
|
|
// New create to token model instance
|
|
func (t *Token) New() oauth2.TokenInfo {
|
|
return NewToken()
|
|
}
|
|
|
|
// GetClientID the client id
|
|
func (t *Token) GetClientID() string {
|
|
return t.ClientID
|
|
}
|
|
|
|
// SetClientID the client id
|
|
func (t *Token) SetClientID(clientID string) {
|
|
t.ClientID = clientID
|
|
}
|
|
|
|
// GetUserID the user id
|
|
func (t *Token) GetUserID() string {
|
|
return t.UserID
|
|
}
|
|
|
|
// SetUserID the user id
|
|
func (t *Token) SetUserID(userID string) {
|
|
t.UserID = userID
|
|
}
|
|
|
|
// GetRedirectURI redirect URI
|
|
func (t *Token) GetRedirectURI() string {
|
|
return t.RedirectURI
|
|
}
|
|
|
|
// SetRedirectURI redirect URI
|
|
func (t *Token) SetRedirectURI(redirectURI string) {
|
|
t.RedirectURI = redirectURI
|
|
}
|
|
|
|
// GetScope get scope of authorization
|
|
func (t *Token) GetScope() string {
|
|
return t.Scope
|
|
}
|
|
|
|
// SetScope get scope of authorization
|
|
func (t *Token) SetScope(scope string) {
|
|
t.Scope = scope
|
|
}
|
|
|
|
// GetCode authorization code
|
|
func (t *Token) GetCode() string {
|
|
return t.Code
|
|
}
|
|
|
|
// SetCode authorization code
|
|
func (t *Token) SetCode(code string) {
|
|
t.Code = code
|
|
}
|
|
|
|
// GetCodeCreateAt create Time
|
|
func (t *Token) GetCodeCreateAt() time.Time {
|
|
return t.CodeCreateAt
|
|
}
|
|
|
|
// SetCodeCreateAt create Time
|
|
func (t *Token) SetCodeCreateAt(createAt time.Time) {
|
|
t.CodeCreateAt = createAt
|
|
}
|
|
|
|
// GetCodeExpiresIn the lifetime in seconds of the authorization code
|
|
func (t *Token) GetCodeExpiresIn() time.Duration {
|
|
return t.CodeExpiresIn
|
|
}
|
|
|
|
// SetCodeExpiresIn the lifetime in seconds of the authorization code
|
|
func (t *Token) SetCodeExpiresIn(exp time.Duration) {
|
|
t.CodeExpiresIn = exp
|
|
}
|
|
|
|
// GetCodeChallenge challenge code
|
|
func (t *Token) GetCodeChallenge() string {
|
|
return t.CodeChallenge
|
|
}
|
|
|
|
// SetCodeChallenge challenge code
|
|
func (t *Token) SetCodeChallenge(code string) {
|
|
t.CodeChallenge = code
|
|
}
|
|
|
|
// GetCodeChallengeMethod challenge method
|
|
func (t *Token) GetCodeChallengeMethod() oauth2.CodeChallengeMethod {
|
|
return oauth2.CodeChallengeMethod(t.CodeChallengeMethod)
|
|
}
|
|
|
|
// SetCodeChallengeMethod challenge method
|
|
func (t *Token) SetCodeChallengeMethod(method oauth2.CodeChallengeMethod) {
|
|
t.CodeChallengeMethod = string(method)
|
|
}
|
|
|
|
// GetAccess access Token
|
|
func (t *Token) GetAccess() string {
|
|
return t.Access
|
|
}
|
|
|
|
// SetAccess access Token
|
|
func (t *Token) SetAccess(access string) {
|
|
t.Access = access
|
|
}
|
|
|
|
// GetAccessCreateAt create Time
|
|
func (t *Token) GetAccessCreateAt() time.Time {
|
|
return t.AccessCreateAt
|
|
}
|
|
|
|
// SetAccessCreateAt create Time
|
|
func (t *Token) SetAccessCreateAt(createAt time.Time) {
|
|
t.AccessCreateAt = createAt
|
|
}
|
|
|
|
// GetAccessExpiresIn the lifetime in seconds of the access token
|
|
func (t *Token) GetAccessExpiresIn() time.Duration {
|
|
return t.AccessExpiresIn
|
|
}
|
|
|
|
// SetAccessExpiresIn the lifetime in seconds of the access token
|
|
func (t *Token) SetAccessExpiresIn(exp time.Duration) {
|
|
t.AccessExpiresIn = exp
|
|
}
|
|
|
|
// GetRefresh refresh Token
|
|
func (t *Token) GetRefresh() string {
|
|
return t.Refresh
|
|
}
|
|
|
|
// SetRefresh refresh Token
|
|
func (t *Token) SetRefresh(refresh string) {
|
|
t.Refresh = refresh
|
|
}
|
|
|
|
// GetRefreshCreateAt create Time
|
|
func (t *Token) GetRefreshCreateAt() time.Time {
|
|
return t.RefreshCreateAt
|
|
}
|
|
|
|
// SetRefreshCreateAt create Time
|
|
func (t *Token) SetRefreshCreateAt(createAt time.Time) {
|
|
t.RefreshCreateAt = createAt
|
|
}
|
|
|
|
// GetRefreshExpiresIn the lifetime in seconds of the refresh token
|
|
func (t *Token) GetRefreshExpiresIn() time.Duration {
|
|
return t.RefreshExpiresIn
|
|
}
|
|
|
|
// SetRefreshExpiresIn the lifetime in seconds of the refresh token
|
|
func (t *Token) SetRefreshExpiresIn(exp time.Duration) {
|
|
t.RefreshExpiresIn = exp
|
|
}
|