authn

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package authn maps immutable authenticated principals into authorization subjects without making authentication depend on authorization.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNilPrincipal       = errors.New("authorization authentication principal is nil")
	ErrAnonymousPrincipal = errors.New("authorization authentication principal is anonymous")
	ErrInvalidPrincipal   = errors.New("authorization authentication principal is invalid")
	ErrInvalidConfig      = errors.New("authorization authentication mapping config is invalid")
	ErrMissingClaim       = errors.New("authorization authentication claim is missing")
	ErrUnsupportedClaim   = errors.New("authorization authentication claim type is unsupported")
	ErrInvalidGroups      = errors.New("authorization authentication groups are invalid")
	ErrGroupLimitExceeded = errors.New("authorization authentication group limit exceeded")
)

Functions

func Subject

func Subject(principal Principal, config Config) (authorization.Subject, error)

Types

type Config

type Config struct {
	Kind            authorization.SubjectKind
	AttributeClaims map[authorization.AttributeName]string
	GroupsClaim     string
	MaxGroups       int
}

type Principal

type Principal interface {
	IsAnonymous() bool
	Subject() string
	Claims() map[string]any
}

Principal is implemented by authentication Principal values and keeps this adapter independent of authentication's package lifecycle.

Jump to

Keyboard shortcuts

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