auth

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type TokenClaims

type TokenClaims struct {
	Username string `json:"username"`
	TokenID  string `json:"token_id"`
	jwt.RegisteredClaims
}

TokenClaims структура для хранения данных в JWT токене

type TokenManager

type TokenManager struct {
	// contains filtered or unexported fields
}

TokenManager структура для управления токенами

func NewTokenManager

func NewTokenManager(config *config.Config, redisClient *database.RedisClient) *TokenManager

NewTokenManager создает новый менеджер токенов

func NewTokenManagerWithStore

func NewTokenManagerWithStore(config *config.Config, store repository.TokenRepository) *TokenManager

NewTokenManagerWithStore создает новый менеджер токенов с указанным хранилищем (для тестирования)

func (*TokenManager) GenerateTokens

func (tm *TokenManager) GenerateTokens(username string) (string, string, error)

GenerateTokens генерирует пару access и refresh токенов

func (*TokenManager) GetJWTExpiration

func (tm *TokenManager) GetJWTExpiration() time.Duration

GetJWTExpiration возвращает время жизни JWT токена

func (*TokenManager) GetJWTExpirationSeconds

func (tm *TokenManager) GetJWTExpirationSeconds() int64

GetJWTExpirationSeconds возвращает время жизни JWT токена в секундах

func (*TokenManager) Logout

func (tm *TokenManager) Logout(refreshToken string) error

Logout отзывает токены пользователя

func (*TokenManager) RefreshTokens

func (tm *TokenManager) RefreshTokens(refreshToken string) (string, string, error)

RefreshTokens обновляет пару токенов по refresh токену

func (*TokenManager) ValidateAccessToken

func (tm *TokenManager) ValidateAccessToken(tokenString string) (*TokenClaims, error)

ValidateAccessToken проверяет валидность access токена

Jump to

Keyboard shortcuts

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