session

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

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

func NewManager

func NewManager(
	oidc oidc.ProviderRepository,
	sessions Repository,
	auditLogger *otlpaudit.AuditLogger,
	sessionDuration time.Duration,
	redirectURI,
	clientID string,
) *Manager

func (*Manager) Auth

func (m *Manager) Auth(ctx context.Context, tenantID, fingerprint, requestURI string) (string, error)

Auth returns an OIDC authorise URI.

type Repository

type Repository interface {
	LoadState(ctx context.Context, tenantID, stateID string) (State, error)
	StoreState(ctx context.Context, tenantID string, state State) error
	LoadSession(ctx context.Context, tenantID, sessionID string) (Session, error)
	StoreSession(ctx context.Context, tenantID string, session Session) error
}

type Session

type Session struct {
	ID          string
	TenantID    string
	Fingerprint string
	Token       string
	Expiry      time.Time
}

type State

type State struct {
	ID           string
	TenantID     string
	Fingerprint  string
	PKCEVerifier string
	RequestURI   string
	Expiry       time.Time
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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