auth

package
v0.0.0-...-7c1bd43 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2022 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidToken = errors.New("invalid token")
)

Functions

func ContextWithSession

func ContextWithSession(ctx context.Context, sess *Session) context.Context

ContextWithSession wraps context with session value

func ParseToken

func ParseToken(t string) (uuid.UUID, error)

ParseToken parses session id from token string

Types

type ContextKey

type ContextKey string

ContextKey is session context key.

Used to mitigate SA1029 linter issue, that's all.

type Credentials

type Credentials struct {
	Email    string `json:"email" validate:"required,email"`
	Password string `json:"password" validate:"required"`
	Remember bool   `json:"remember"`
}

type LoginResult

type LoginResult struct {
	Token   Token      `json:"token"`
	User    *user.User `json:"user"`
	Session *Session   `json:"session"`
}

type Session

type Session struct {
	ID       uuid.UUID     `json:"id"`
	UserID   user.ID       `json:"user_id"`
	LoggedAt time.Time     `json:"logged_at"`
	TTL      time.Duration `json:"ttl"`
}

Session contains user auth session

func NewSession

func NewSession(uid user.ID, ttl time.Duration) *Session

NewSession returns new session

func SessionFromContext

func SessionFromContext(ctx context.Context) *Session

SessionFromContext returns session from context

func (Session) Token

func (s Session) Token() Token

Token returns auth token for a session

type Token

type Token string

Token is user auth token

func (Token) SessionID

func (t Token) SessionID() (uuid.UUID, error)

SessionID returns session id from token

Jump to

Keyboard shortcuts

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