Versions in this module Expand all Collapse all v0 v0.0.7 Aug 18, 2026 Changes in this version + const TokenTypeAccess + const TokenTypeRefresh + var ErrJWTExpired = errors.New("token JWT expirado") + var ErrJWTInvalid = errors.New("token JWT inválido") + var ErrJWTSigningMethodInvalid = errors.New("método de firma JWT inválido") + var ErrSessionNotFound = errors.New("sesión no encontrada") + var ErrSessionStoreFailed = errors.New("fallo en el almacenamiento de sesiones") + func CreateQuickSession(info SessionInfo) (string, error) + func ExtractUserID(tokenString string) string + func GenerateAccessToken(claims Claims) (string, error) + func GenerateQuickToken(userID, role string) (string, error) + func GenerateQuickTokenWithEmail(userID, email, role string) (string, error) + func GenerateRefreshToken(claims Claims) (string, error) + func GetSessionUserID(sessionID string) string + func Init(config JWTConfig) error + func InitSession(config SessionConfig) error + func QuickSessionExists(sessionID string) bool + func RefreshAccessToken(refreshTokenString string) (string, error) + func RevokeAllQuickSessions(userID, reason string) error + func RevokeQuickSession(sessionID, reason string) error + func ValidateQuickToken(tokenString string) bool + type Claims struct + CustomData map[string]interface{} + DeviceInfo string + Email string + IPAddress string + Role string + SessionID string + TokenType string + UserID string + Username string + func ExtractClaims(tokenString string) *Claims + func ValidateToken(tokenString string) (*Claims, error) + type JWTConfig struct + AccessTokenDuration time.Duration + Issuer string + RefreshTokenDuration time.Duration + SecretKey []byte + SecurityLevel security.Level + type JWTManager struct + func GetDefault() *JWTManager + func NewJWTManager(config JWTConfig) (*JWTManager, error) + func (m *JWTManager) GenerateAccessToken(claims Claims) (string, error) + func (m *JWTManager) GenerateRefreshToken(claims Claims) (string, error) + func (m *JWTManager) GetConfig() JWTConfig + func (m *JWTManager) RefreshAccessToken(refreshTokenString string) (string, error) + func (m *JWTManager) ValidateToken(tokenString string) (*Claims, error) + type MemorySessionStore struct + func NewMemorySessionStore() *MemorySessionStore + func (s *MemorySessionStore) CleanExpired() (int, error) + func (s *MemorySessionStore) Delete(sessionID string) error + func (s *MemorySessionStore) DeleteByUserID(userID string) error + func (s *MemorySessionStore) Get(sessionID string) (*Session, error) + func (s *MemorySessionStore) GetByUserID(userID string) ([]*Session, error) + func (s *MemorySessionStore) Save(session *Session) error + type Session struct + CreatedAt time.Time + DeviceInfo string + ExpiresAt time.Time + ID string + IPAddress string + IdleTimeout time.Duration + IsValid bool + LastActivityAt time.Time + RevokeReason string + RevokedAt time.Time + UserAgent string + UserID string + Username string + func GetQuickUserSessions(userID string) ([]*Session, error) + func ValidateQuickSession(sessionID string) (*Session, error) + func (s *Session) IsActive() bool + func (s *Session) IsExpired() bool + type SessionConfig struct + IdleTimeout time.Duration + MaxConcurrentSessions int + SecurityLevel security.Level + SessionTimeout time.Duration + Store SessionStore + type SessionInfo struct + DeviceInfo string + IPAddress string + UserAgent string + UserID string + Username string + type SessionManager struct + func GetDefaultSession() *SessionManager + func NewSessionManager(config SessionConfig) *SessionManager + func (m *SessionManager) CleanExpiredSessions() (int, error) + func (m *SessionManager) CreateSession(info SessionInfo) (string, error) + func (m *SessionManager) GetConfig() SessionConfig + func (m *SessionManager) GetSession(sessionID string) (*Session, error) + func (m *SessionManager) GetUserSessions(userID string) ([]*Session, error) + func (m *SessionManager) RevokeAllUserSessions(userID, reason string) error + func (m *SessionManager) RevokeSession(sessionID, reason string) error + func (m *SessionManager) ValidateSession(sessionID string) (*Session, error) + type SessionStore interface + CleanExpired func() (int, error) + Delete func(sessionID string) error + DeleteByUserID func(userID string) error + Get func(sessionID string) (*Session, error) + GetByUserID func(userID string) ([]*Session, error) + Save func(session *Session) error