Versions in this module Expand all Collapse all v0 v0.0.1 Nov 19, 2022 Changes in this version + var ErrExpiredJWTToken = errors.New("expired JWT token") + var ErrInvalidJWTAudience = errors.New("invalid jwt audience") + var ErrInvalidJWTIssuer = errors.New("invalid jwt issuer") + var ErrInvalidSigningKey = errors.New("invalid jwt signature") + var ErrInvalidSigningMethod = errors.New("invalid signing method") + var ErrJWTSigningKeyNotSet = errors.New("jwt signing key not set") + type BcryptHasher struct + func NewBCryptHasher() *BcryptHasher + func (b BcryptHasher) Hash(password []byte) ([]byte, error) + func (b BcryptHasher) VerifyPassword(correctPassword, password []byte) error + type CustomClaim struct + TokenType string + type IPasswordHasher interface + Hash func(password []byte) ([]byte, error) + VerifyPassword func(correctPassword, password []byte) error + type ITokenManager interface + GenerateRandomToken func() string + NewJWT func(subject string) (*Tokens, error) + ValidateJWT func(token string) (*jwt.Token, string, error) + type MockHasher struct + func NewMockHasher() MockHasher + func (MockHasher) Hash(password []byte) ([]byte, error) + func (h MockHasher) VerifyPassword(correctPassword, password []byte) error + type MockTokenManager struct + func NewMockTokenManager() MockTokenManager + func (MockTokenManager) NewJWT(subject string) (*Tokens, error) + func (m MockTokenManager) GenerateRandomToken() string + func (m MockTokenManager) ValidateJWT(token string) (*jwt.Token, string, error) + type TokenManager struct + AccessTokenTimeToExpiry time.Duration + Audience string + Issuer string + RefreshTokenTimeToExpiry time.Duration + SigningKey string + func NewTokenManager(signingKey string, audience string, issuer string, ...) (*TokenManager, error) + func (t *TokenManager) GenerateRandomToken() string + func (t *TokenManager) NewJWT(subject string) (*Tokens, error) + func (t *TokenManager) ValidateJWT(jwtToken string) (*jwt.Token, string, error) + type Tokens struct + AccessToken string + RefreshToken string