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