manager

package
v1.1.5 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2025 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Timeout        = time.Second * 30
	GCInterval     = time.Minute
	HealthInterval = time.Second * 30
	Jitter         = time.Second * 5
	ForcedRefresh  = time.Hour
)

Variables

View Source
var (
	ErrCreatingManager    = errors.New("error creating manager")
	ErrDBIsRequired       = errors.New("db is required")
	ErrCreatingSession    = errors.New("error creating session")
	ErrRefreshingSession  = errors.New("error refreshing session")
	ErrRevokingSession    = errors.New("error revoking session")
	ErrInvalidProvider    = errors.New("invalid provider")
	ErrInvalidFlowData    = errors.New("invalid flow data")
	ErrSessionIsExpired   = errors.New("session is expired")
	ErrInvalidSessionRole = errors.New("invalid session role")
	ErrValidatingSession  = errors.New("error validating session")
	ErrRevokedSession     = errors.New("revoked session")
)

Functions

This section is empty.

Types

type APIOptions

type APIOptions struct {
	TLS      bool
	Endpoint string
}

type DeviceOptions

type DeviceOptions struct {
	Enabled bool
}

type GithubOptions

type GithubOptions struct {
	Enabled      bool
	ClientID     string
	ClientSecret string
}

type GoogleOptions

type GoogleOptions struct {
	Enabled      bool
	ClientID     string
	ClientSecret string
}

type InvalidatedSession

type InvalidatedSession struct {
	Identifier string `json:"identifier"`
	Generation uint32 `json:"generation"`
}

type MagicOptions

type MagicOptions struct {
	Enabled bool
}

type MailerOptions

type MailerOptions struct {
	Enabled               bool
	Mailer                mailer.Mailer
	SMTPHost              string
	SMTPPort              int
	SMTPUsername          string
	SMTPPassword          string
	FromEmail             string
	FromName              string
	AppName               string
	MagicLinkTemplatePath string
}

type Manager

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

func New

func New(options Options, db *db.DB, logger types.Logger) (*Manager, error)

func (*Manager) Close

func (m *Manager) Close() error

func (*Manager) Configuration

func (m *Manager) Configuration() *configuration.Configuration

func (*Manager) CreateExistingSession

func (m *Manager) CreateExistingSession(ctx context.Context, identifier string) (credential.Session, error)

func (*Manager) CreateSession

func (m *Manager) CreateSession(ctx context.Context, data flow.Data, provider flow.Provider) (credential.Session, error)

func (*Manager) Database

func (m *Manager) Database() *db.DB

func (*Manager) Device

func (m *Manager) Device() *device.Device

func (*Manager) Github

func (m *Manager) Github() *github.Github

func (*Manager) Google

func (m *Manager) Google() *google.Google

func (*Manager) IsHealthy

func (m *Manager) IsHealthy() bool

func (*Manager) IsSessionInvalidated

func (m *Manager) IsSessionInvalidated(identifier string, generation uint32) bool

func (*Manager) IsSessionRevoked

func (m *Manager) IsSessionRevoked(identifier string) bool

func (*Manager) Magic

func (m *Manager) Magic() *magic.Magic

func (*Manager) Mailer

func (m *Manager) Mailer() mailer.Mailer

func (*Manager) ParseSession

func (m *Manager) ParseSession(token string) (credential.Session, bool, error)

func (*Manager) RefreshSession

func (m *Manager) RefreshSession(ctx context.Context, session credential.Session) (credential.Session, error)

func (*Manager) RevokeSession

func (m *Manager) RevokeSession(ctx context.Context, identifier string) error

func (*Manager) SessionInvalidationList

func (m *Manager) SessionInvalidationList() []InvalidatedSession

func (*Manager) SessionRevocationList

func (m *Manager) SessionRevocationList() []string

func (*Manager) SignSession

func (m *Manager) SignSession(session credential.Session) (string, error)

func (*Manager) ValidateSession

func (m *Manager) ValidateSession(ctx context.Context, token string) (credential.Session, bool, error)

type Options

type Options struct {
	Github        GithubOptions
	Google        GoogleOptions
	Magic         MagicOptions
	Device        DeviceOptions
	Mailer        MailerOptions
	Configuration configuration.Options
	API           APIOptions
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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