authz

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDenied             = errors.New("permission denied")
	ErrNotConfigured      = errors.New("authorizer is nil")
	ErrEmptyAuthorization = errors.New("authorization resolver returned empty resource or action")
	ErrResolverMissing    = errors.New("authz resolver is required")
)

Functions

func Require

func Require(ctx context.Context, a Authorizer, resource, action string) error

func RequirePrincipal

func RequirePrincipal(ctx context.Context, a Authorizer, p *principal.Principal, resource, action string) error

Types

type Authorizer

type Authorizer interface {
	Authorize(ctx context.Context, req Request) (bool, error)
}

type MiddlewareOptions

type MiddlewareOptions struct {
	AllowEmpty bool
}

type Request

type Request struct {
	Principal *principal.Principal
	Resource  string
	Action    string
	Domain    string
	Extra     []any
}

type Resolver

type Resolver func(ctx context.Context, req any) (resource string, action string, err error)

Jump to

Keyboard shortcuts

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