Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessGenerate ¶
type AccessGenerate interface {
Token(data *GenerateBasic, isGenRefresh bool) (access, refresh string, err error)
}
AccessGenerate generate the access and refresh tokens interface
type AuthorizeGenerate ¶
type AuthorizeGenerate interface {
Token(data *GenerateBasic) (code string, err error)
}
AuthorizeGenerate generate the authorization code interface
type ClientInfo ¶
ClientInfo the client information model interface
type ClientStore ¶
type ClientStore interface { // according to the ID for the client information GetByID(id string) (ClientInfo, error) }
ClientStore the client information storage interface
type GenerateBasic ¶
type GenerateBasic struct { Client ClientInfo UserID string CreateAt time.Time }
GenerateBasic provide the basis of the generated token data
type GrantType ¶
type GrantType string
GrantType authorization model
type Manager ¶
type Manager interface { // check the interface implementation CheckInterface() (err error) // get the client information GetClient(clientID string) (cli ClientInfo, err error) // generate the authorization token(code) GenerateAuthToken(rt ResponseType, tgr *TokenGenerateRequest) (authToken TokenInfo, err error) // generate the access token GenerateAccessToken(rt GrantType, tgr *TokenGenerateRequest) (accessToken TokenInfo, err error) // refreshing an access token RefreshAccessToken(tgr *TokenGenerateRequest) (accessToken TokenInfo, err error) // use the access token to delete the token information RemoveAccessToken(access string) (err error) // use the refresh token to delete the token information RemoveRefreshToken(refresh string) (err error) // according to the access token for corresponding token information LoadAccessToken(access string) (ti TokenInfo, err error) // according to the refresh token for corresponding token information LoadRefreshToken(refresh string) (ti TokenInfo, err error) }
Manager authorization management interface
type ResponseType ¶
type ResponseType string
ResponseType the type of authorization request
const ( Code ResponseType = "code" Token ResponseType = "token" )
define the type of authorization request
func (ResponseType) String ¶
func (rt ResponseType) String() string
type TokenGenerateRequest ¶
type TokenGenerateRequest struct { ClientID string ClientSecret string UserID string RedirectURI string Scope string Code string Refresh string AccessTokenExp time.Duration }
TokenGenerateRequest provide to generate the token request parameters
type TokenInfo ¶
type TokenInfo interface { GetClientID() string SetClientID(string) GetUserID() string SetUserID(string) GetRedirectURI() string SetRedirectURI(string) GetScope() string SetScope(string) GetCode() string SetCode(string) GetCodeCreateAt() time.Time SetCodeCreateAt(time.Time) GetCodeExpiresIn() time.Duration SetCodeExpiresIn(time.Duration) GetAccess() string SetAccess(string) GetAccessCreateAt() time.Time SetAccessCreateAt(time.Time) GetAccessExpiresIn() time.Duration SetAccessExpiresIn(time.Duration) GetRefresh() string SetRefresh(string) GetRefreshCreateAt() time.Time SetRefreshCreateAt(time.Time) GetRefreshExpiresIn() time.Duration SetRefreshExpiresIn(time.Duration) }
TokenInfo the token information model interface
type TokenStore ¶
type TokenStore interface { // create and store the new token information Create(info TokenInfo) error // delete the authorization code RemoveByCode(code string) error // use the access token to delete the token information RemoveByAccess(access string) error // use the refresh token to delete the token information RemoveByRefresh(refresh string) error // use the authorization code for token information data GetByCode(code string) (TokenInfo, error) // use the access token for token information data GetByAccess(access string) (TokenInfo, error) // use the refresh token for token information data GetByRefresh(refresh string) (TokenInfo, error) }
TokenStore the token information storage interface
Click to show internal directories.
Click to hide internal directories.