Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RequestToRecord ¶
func RequestToRecord(req *authProto.CreateTokenRequest, token *IssuedToken) *authProto.StoredToken
RequestToRecord prepares a value to store in database
Types ¶
type ExtensionFields ¶
type ExtensionFields struct { UserIDHash string `json:"user_id,omitempty"` Role string `json:"role,omitempty"` PartTokenID string `json:"part_token_id,omitempty"` }
ExtensionFields is an advanced fields included to JWT
type IssuedToken ¶
IssuedToken describes a token
type Issuer ¶
type Issuer interface {
IssueTokens(extensionFields ExtensionFields) (accessToken, refreshToken *IssuedToken, err error)
}
Issuer is interface for creating access and refresh tokens.
type IssuerValidator ¶
type IssuerValidator interface { Issuer Validator AccessFromRefresh(refreshToken string) (accessToken *IssuedToken, err error) Now() time.Time }
IssuerValidator is an interface for token factory
func NewJWTIssuerValidator ¶
func NewJWTIssuerValidator(config JWTIssuerValidatorConfig) IssuerValidator
NewJWTIssuerValidator sets up validator for self-contained JSON Web Tokens
func NewMockIssuerValidator ¶
func NewMockIssuerValidator(returnedLifeTime time.Duration) IssuerValidator
NewMockIssuerValidator sets up a mock object used for testing purposes
type JWTIssuerValidatorConfig ¶
type JWTIssuerValidatorConfig struct { SigningMethod jwt.SigningMethod Issuer string AccessTokenLifeTime time.Duration RefreshTokenLifeTime time.Duration SigningKey interface{} ValidationKey interface{} }
JWTIssuerValidatorConfig is config for JSON Web Tokens issuer and validator
type Kind ¶
type Kind int
Kind is a token kind (see OAuth 2 standards). According to standard it can be only KindAccess and KindRefresh.
type ValidationResult ¶
ValidationResult describes token validation result.
type Validator ¶
type Validator interface {
ValidateToken(token string) (result *ValidationResult, err error)
}
Validator is interface for validating tokens