Documentation ¶
Index ¶
- type AccessTokenPayload
- type AccessTokens
- type Clients
- type Model
- type RefreshTokenPayload
- type RefreshTokens
- type Token
- func (t *Token) GetAccessCreateAt() time.Time
- func (t *Token) GetAccessExpiresIn() time.Duration
- func (t *Token) GetClientID() uuid.UUID
- func (t *Token) GetClientSecret() string
- func (t *Token) GetRedirectURI() string
- func (t *Token) GetRefreshCreateAt() time.Time
- func (t *Token) GetRefreshExpiresIn() time.Duration
- func (t *Token) GetScope() string
- func (t *Token) GetUserID() int64
- func (t *Token) New() TokenInfo
- func (t *Token) SetAccessCreateAt(createAt time.Time)
- func (t *Token) SetAccessExpiresIn(exp time.Duration)
- func (t *Token) SetClientID(clientID uuid.UUID)
- func (t *Token) SetClientSecret() string
- func (t *Token) SetRedirectURI(redirectURI string)
- func (t *Token) SetRefreshCreateAt(createAt time.Time)
- func (t *Token) SetRefreshExpiresIn(exp time.Duration)
- func (t *Token) SetScope(scope string)
- func (t *Token) SetUserID(userID int64)
- type TokenInfo
- type TokenResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessTokenPayload ¶
type AccessTokenPayload struct { UserId int64 `db:"user_id"` ClientId uuid.UUID `db:"client_id"` ExpiredAt int64 `db:"expired_at"` }
AccessTokenPayload is data that will be encrypted by RSA encryption
type AccessTokens ¶
type AccessTokens struct { Model AccessTokenPayload Name string `db:"name"` Scope string `db:"scope"` Revoked bool `db:"revoked"` }
AccessTokens is model for Oauth Access Token
type Clients ¶
type Clients struct { Model UserId int64 `db:"user_id"` Name string `db:"name"` Secret string `db:"secret"` Revoked bool `db:"revoked"` }
Clients is model for oauth clients
type Model ¶
type Model struct { ID uuid.UUID `db:"id,primarykey"` CreatedAt time.Time `db:"created_at"` UpdatedAt time.Time `db:"updated_at"` }
Model is default model
type RefreshTokenPayload ¶
RefreshTokenPayload is model for oauth refresh token
type RefreshTokens ¶
type RefreshTokens struct { Model RefreshTokenPayload Revoked bool `db:"revoked"` }
RefreshTokens is model for oauth refresh token
type Token ¶
type Token struct { ClientID uuid.UUID `bson:"ClientID"` ClientSecret string `bson:"ClientSecret"` UserID int64 `bson:"UserID"` RedirectURI string `bson:"RedirectURI"` Scope string `bson:"Scope"` AccessCreateAt time.Time `bson:"AccessCreateAt"` AccessExpiresIn time.Duration `bson:"AccessExpiresIn"` RefreshCreateAt time.Time `bson:"RefreshCreateAt"` RefreshExpiresIn time.Duration `bson:"RefreshExpiresIn"` }
Token struct which hold token details
func (*Token) GetAccessCreateAt ¶
GetAccessCreateAt create Time
func (*Token) GetAccessExpiresIn ¶
GetAccessExpiresIn the lifetime in seconds of the access token
func (*Token) GetClientSecret ¶
GetClientSecret the client id
func (*Token) GetRefreshCreateAt ¶
GetRefreshCreateAt create Time
func (*Token) GetRefreshExpiresIn ¶
GetRefreshExpiresIn the lifetime in seconds of the refresh token
func (*Token) SetAccessCreateAt ¶
SetAccessCreateAt create Time
func (*Token) SetAccessExpiresIn ¶
SetAccessExpiresIn the lifetime in seconds of the access token
func (*Token) SetClientID ¶
SetClientID the client id
func (*Token) SetClientSecret ¶
SetClientSecret the client id
func (*Token) SetRedirectURI ¶
SetRedirectURI redirect URI
func (*Token) SetRefreshCreateAt ¶
SetRefreshCreateAt create Time
func (*Token) SetRefreshExpiresIn ¶
SetRefreshExpiresIn the lifetime in seconds of the refresh token
type TokenInfo ¶
type TokenInfo interface { New() TokenInfo GetClientID() uuid.UUID SetClientID(uuid.UUID) GetClientSecret() string SetClientSecret() string GetUserID() int64 SetUserID(int64) GetRedirectURI() string SetRedirectURI(string) GetScope() string SetScope(string) GetAccessCreateAt() time.Time SetAccessCreateAt(time.Time) GetAccessExpiresIn() time.Duration SetAccessExpiresIn(time.Duration) GetRefreshCreateAt() time.Time SetRefreshCreateAt(time.Time) GetRefreshExpiresIn() time.Duration SetRefreshExpiresIn(time.Duration) }
TokenInfo the token information model interface
type TokenResponse ¶
type TokenResponse struct { AccessToken string `json:"access_token"` RefreshToken string `json:"refresh_token"` ExpiredAt int64 `json:"expired_at"` }
TokenResponse model after creating access token and refresh token