model

package
v0.0.0-...-0ae9f9e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2020 License: MIT Imports: 2 Imported by: 1

Documentation

Index

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

type RefreshTokenPayload struct {
	AccessTokenId uuid.UUID `db:"access_token_id"`
}

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 NewToken

func NewToken() *Token

NewToken create to token model instance

func (*Token) GetAccessCreateAt

func (t *Token) GetAccessCreateAt() time.Time

GetAccessCreateAt create Time

func (*Token) GetAccessExpiresIn

func (t *Token) GetAccessExpiresIn() time.Duration

GetAccessExpiresIn the lifetime in seconds of the access token

func (*Token) GetClientID

func (t *Token) GetClientID() uuid.UUID

GetClientID the client id

func (*Token) GetClientSecret

func (t *Token) GetClientSecret() string

GetClientSecret the client id

func (*Token) GetRedirectURI

func (t *Token) GetRedirectURI() string

GetRedirectURI redirect URI

func (*Token) GetRefreshCreateAt

func (t *Token) GetRefreshCreateAt() time.Time

GetRefreshCreateAt create Time

func (*Token) GetRefreshExpiresIn

func (t *Token) GetRefreshExpiresIn() time.Duration

GetRefreshExpiresIn the lifetime in seconds of the refresh token

func (*Token) GetScope

func (t *Token) GetScope() string

GetScope get scope of authorization

func (*Token) GetUserID

func (t *Token) GetUserID() int64

GetUserID the user id

func (*Token) New

func (t *Token) New() TokenInfo

New create to token model instance

func (*Token) SetAccessCreateAt

func (t *Token) SetAccessCreateAt(createAt time.Time)

SetAccessCreateAt create Time

func (*Token) SetAccessExpiresIn

func (t *Token) SetAccessExpiresIn(exp time.Duration)

SetAccessExpiresIn the lifetime in seconds of the access token

func (*Token) SetClientID

func (t *Token) SetClientID(clientID uuid.UUID)

SetClientID the client id

func (*Token) SetClientSecret

func (t *Token) SetClientSecret() string

SetClientSecret the client id

func (*Token) SetRedirectURI

func (t *Token) SetRedirectURI(redirectURI string)

SetRedirectURI redirect URI

func (*Token) SetRefreshCreateAt

func (t *Token) SetRefreshCreateAt(createAt time.Time)

SetRefreshCreateAt create Time

func (*Token) SetRefreshExpiresIn

func (t *Token) SetRefreshExpiresIn(exp time.Duration)

SetRefreshExpiresIn the lifetime in seconds of the refresh token

func (*Token) SetScope

func (t *Token) SetScope(scope string)

SetScope get scope of authorization

func (*Token) SetUserID

func (t *Token) SetUserID(userID int64)

SetUserID the user id

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL