auth

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Middleware

func Middleware[TUser user.Model, TAccount account.Model](
	next http.Handler,
	loader *Loader[TUser, TAccount],
	authorizers ...auth.Authorizer[TUser, TAccount],
) http.Handler

Middleware returns an HTTP handler that performs authorization checks on incoming requests.

Types

type Loader added in v0.5.0

type Loader[TUser user.Model, TAccount account.Model] struct {
	Users    user.Repository[TUser]
	Accounts account.SessionRepository[TUser, TAccount]
	Members  account.MemberRepository[TUser, TAccount]
}

Loader resolves user+account pairs with membership and permission checks.

func NewLoader added in v0.5.0

func NewLoader[TUser user.Model, TAccount account.Model](
	users user.Repository[TUser],
	accounts account.SessionRepository[TUser, TAccount],
	members account.MemberRepository[TUser, TAccount],
) *Loader[TUser, TAccount]

NewLoader creates a session loader for auth middleware and authorizers.

func (*Loader[TUser, TAccount]) CrossAccountConnect added in v0.5.0

func (l *Loader[TUser, TAccount]) CrossAccountConnect(ctx context.Context, crossAccountID string, userObj TUser, accountObj TAccount) (TUser, TAccount, error)

CrossAccountConnect validates and connects to a cross-account context if specified via header.

func (*Loader[TUser, TAccount]) UserAccountByID added in v0.5.0

func (l *Loader[TUser, TAccount]) UserAccountByID(ctx context.Context, uID, accID uint64, preUser TUser, prevAccount TAccount) (TUser, TAccount, error)

UserAccountByID retrieves and validates a user and account by their IDs, ensuring proper permissions.

Jump to

Keyboard shortcuts

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