auth

package
v0.4.23 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HeimdallClaims

type HeimdallClaims struct {
	Principal string `json:"principal"`
	Email     string `json:"email,omitempty"`
}

HeimdallClaims contains extra custom claims we want to parse from the JWT token.

func (*HeimdallClaims) Validate

func (c *HeimdallClaims) Validate(ctx context.Context) error

Validate provides additional middleware validation of any claims defined in HeimdallClaims.

type JWTAuth

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

func NewJWTAuth

func NewJWTAuth(config JWTAuthConfig) (*JWTAuth, error)

NewJWTAuth creates a new JWT authentication service

func (*JWTAuth) ParsePrincipal

func (j *JWTAuth) ParsePrincipal(ctx context.Context, token string, logger *slog.Logger) (string, error)

ParsePrincipal extracts the principal from the JWT claims.

type JWTAuthConfig

type JWTAuthConfig struct {
	// JWKSURL is the URL to the JSON Web Key Set endpoint
	JWKSURL string
	// Audience is the intended audience for the JWT token
	Audience string
	// MockLocalPrincipal is used for local development to bypass JWT validation
	MockLocalPrincipal string
}

JWTAuthConfig holds the configuration parameters for JWT authentication.

Jump to

Keyboard shortcuts

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