accesstokens

package
v0.0.0-...-edeb3c3 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrAccessTokenExpired = errors.New("access token expired")
View Source
var ErrAccessTokenInvalidPath = errors.New("wrong path for access token")
View Source
var ErrAccessTokenNotFound = errors.New("access token not found")
View Source
var ErrAccessTokenReused = errors.New("access token reuse")
View Source
var ErrUserInvalid = errors.New("user invalid")
View Source
var PathInvalid = errors.New("path invalid")

Functions

This section is empty.

Types

type AccessToken

type AccessToken struct {
	models.Record
	ID        int64          `db:"pk,id"`
	Token     string         `db:"token"`
	TokenData types.JsonMap  `db:"token_data"`
	Path      string         `db:"path"`
	Creator   int64          `db:"creator_id"`
	Expires   types.DateTime `db:"expires"`
	Uses      int64          `db:"uses"`
}

func (AccessToken) TableName

func (a AccessToken) TableName() string

type AccessTokenManager

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

func New

func New(db *db.DB, tablename, usertable, idfield string, l_exp, s_exp int) (*AccessTokenManager, error)

func (*AccessTokenManager) Count

func (s *AccessTokenManager) Count() (int, error)

func (*AccessTokenManager) DeleteByAccessToken

func (s *AccessTokenManager) DeleteByAccessToken(token string) error

func (*AccessTokenManager) Insert

func (s *AccessTokenManager) Insert(user int64, uses int64, path string, short bool) (*AccessToken, error)

func (*AccessTokenManager) InsertEternal

func (s *AccessTokenManager) InsertEternal(user int64, path string) (*AccessToken, error)

TODO: maybe eternal ats are a bad idea Eternal ATs can only used once, but they never expire

func (*AccessTokenManager) InsertUnsafe

func (s *AccessTokenManager) InsertUnsafe(at *AccessToken) error

Creating an AT with user defined values is considered unsafe

func (*AccessTokenManager) SelectByAccessToken

func (s *AccessTokenManager) SelectByAccessToken(token string, path string) (*AccessToken, error)

We do not allow selection by AT without

  • checking the path
  • checking the expiration
  • checking & decreasing use

func (*AccessTokenManager) Update

func (atm *AccessTokenManager) Update(at *AccessToken) error

Jump to

Keyboard shortcuts

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