auth

package
v1.34.4 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2025 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrAuthorizationFailed = errors.New("authorization failed")
)

Functions

func Module

func Module() fx.Option

Types

type Config

type Config struct {
	Mode         Mode
	PrivateToken string
}

type Mode

type Mode string
const (
	ModePublic  Mode = "public"
	ModePrivate Mode = "private"
)

type OneTimeCode added in v1.34.3

type OneTimeCode struct {
	Code       string
	ValidUntil time.Time
}

OneTimeCode is a one-time user authorization code.

type Params

type Params struct {
	fx.In

	Config Config

	Users      *repository
	DevicesSvc *devices.Service
	OnlineSvc  online.Service

	Logger *zap.Logger
}

type Service

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

func New

func New(params Params) *Service

func (*Service) AuthorizeDevice

func (s *Service) AuthorizeDevice(token string) (models.Device, error)

func (*Service) AuthorizeRegistration

func (s *Service) AuthorizeRegistration(token string) error

func (*Service) AuthorizeUser

func (s *Service) AuthorizeUser(username, password string) (*models.User, error)

func (*Service) AuthorizeUserByCode added in v1.19.0

func (s *Service) AuthorizeUserByCode(code string) (*models.User, error)

AuthorizeUserByCode authorizes a user by one-time code.

func (*Service) ChangePassword added in v1.16.0

func (s *Service) ChangePassword(userID string, currentPassword string, newPassword string) error

func (*Service) GenerateUserCode added in v1.19.0

func (s *Service) GenerateUserCode(userID string) (OneTimeCode, error)

GenerateUserCode generates a unique one-time user authorization code.

func (*Service) IsPublic

func (s *Service) IsPublic() bool

func (*Service) RegisterDevice

func (s *Service) RegisterDevice(user *models.User, name, pushToken *string) (*models.Device, error)

func (*Service) RegisterUser

func (s *Service) RegisterUser(login, password string) (*models.User, error)

func (*Service) Run added in v1.19.0

func (s *Service) Run(ctx context.Context)

Run starts a ticker that triggers the clean function every hour. It runs indefinitely until the provided context is canceled.

Jump to

Keyboard shortcuts

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