token

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2022 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const MinKeySize = 16

MinKeySize минимальная длина ключа

Variables

View Source
var (
	// ErrInvalidKeySize используется ключ недостаточной длины
	ErrInvalidKeySize = errors.New("invalid key size")
	// ErrInvalidToken невалидный токен
	ErrInvalidToken = errors.New("token is invalid")
	// ErrExpiredToken закончился срок действия токена
	ErrExpiredToken = errors.New("token has expired")
)

Functions

This section is empty.

Types

type FileStorage added in v0.1.1

type FileStorage struct {
	Path string
}

FileStorage файловое хранилище для токена

func NewFileStorage added in v0.1.1

func NewFileStorage(path string) *FileStorage

NewFileStorage создает новое файловое хранилище для токена

func (*FileStorage) Load added in v0.1.1

func (s *FileStorage) Load() (string, error)

Load читает токен из файла

func (*FileStorage) Save added in v0.1.1

func (s *FileStorage) Save(accessToken string) error

Save записывает токен в файл

type Manager

type Manager interface {
	// Create создает токен для указанного userID
	Create(userID int) (token string, err error)
	// Validate проверяет токен на валидность
	Validate(accessToken string) (payload *Payload, err error)
}

Manager интерфейс генерации и проверки токенов для аутентификации

type Payload

type Payload struct {
	jwt.StandardClaims

	UserID int `json:"user_id"`
}

Payload содержит payload-данные токена

func NewPayload

func NewPayload(userID int, duration time.Duration) (*Payload, error)

NewPayload создает новый payload с переданными идентификатором пользователя и временем жизни токена

func (*Payload) Valid

func (p *Payload) Valid() error

Valid выполняет проверку токена

type Storage added in v0.1.1

type Storage interface {
	// Load загружает токен
	Load() (accessToken string, err error)
	// Save сохраняет токен
	Save(accessToken string) error
}

Storage интерфейс сохранения из загрузки токена

Directories

Path Synopsis
Package mock_token is a generated GoMock package.
Package mock_token is a generated GoMock package.

Jump to

Keyboard shortcuts

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