http

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package http provides HTTP authentication utilities and interfaces.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HandlerFunc

func HandlerFunc(cfg *ServerConfig, origHandler http.HandlerFunc) (http.HandlerFunc, error)

HandlerFunc creates an authentication-wrapped HTTP handler function from the provided configuration.

func MultiAuthnHandlerFunc

func MultiAuthnHandlerFunc(cfg *ServerConfig, origHandler http.HandlerFunc) http.HandlerFunc

MultiAuthnHandlerFunc creates a handler function that supports multiple authentication providers.

func NullHandler

func NullHandler(next http.HandlerFunc) http.HandlerFunc

NullHandler is a handler that passes through to the next handler without authentication.

Types

type Authenticator

type Authenticator interface {
	AuthRequest(r *http.Request) (stdctx.Context, error)
}

Authenticator is an interface for authenticating an HTTP request.

type ClientAuth

type ClientAuth interface {
	AddAuth(*http.Request) error
}

ClientAuth is an interface for adding authentication to an HTTP request.

func NewClientAuth

func NewClientAuth(authConfig ClientConfig) ClientAuth

NewClientAuth returns a ClientAuth implementation based on the provided configuration.

type ClientConfig

type ClientConfig struct {
	BasicAuthConfig  basic.ClientConfig  `mapstructure:"basic"`
	GitHubAuthConfig github.ClientConfig `mapstructure:"github"`
	HMACAuthConfig   hmac.ClientConfig   `mapstructure:"hmac"`
}

ClientConfig represents the authentication configuration for an HTTP client.

type GenericAuthConfig

type GenericAuthConfig struct {
	Name   string         `mapstructure:"name"`
	Config map[string]any `mapstructure:"config"`
}

GenericAuthConfig represents a generic authentication configuration.

type Handler

type Handler struct {
	Config ServerConfig
	// contains filtered or unexported fields
}

Handler describes an HTTP authentication handler.

func NewHandler

func NewHandler(cfg *ServerConfig) (*Handler, error)

NewHandler creates a new authentication handler from the provided configuration.

func (*Handler) Wrap

func (h *Handler) Wrap(handler http.Handler) http.Handler

Wrap wraps an HTTP handler with authentication middleware.

type Middleware

type Middleware interface {
	//	AuthRequest(r *http.Request) (stdctx.Context, error)
	Wrap(http.Handler) http.Handler
}

Middleware is an interface for wrapping an HTTP handler with authentication.

type ServerConfig

type ServerConfig struct {
	BasicAuthConfig  basic.ServerConfig  `mapstructure:"basic"`
	GitHubAuthConfig github.ServerConfig `mapstructure:"github"`
	HMACAuthConfig   hmac.ServerConfig   `mapstructure:"hmac"`
	JWTAuthConfig    jwt.ValidatorConfig `mapstructure:"jwt"`
	OIDCAuthConfig   oidc.ClientConfig   `mapstructure:"oidc"`

	Providers []string `mapstructure:"providers"`
}

ServerConfig represents the authentication configuration for an HTTP server.

Directories

Path Synopsis
Package basic provides HTTP Basic authentication middleware and utilities.
Package basic provides HTTP Basic authentication middleware and utilities.
Package github provides GitHub-based authentication middleware.
Package github provides GitHub-based authentication middleware.
Package hmac provides HMAC-based authentication middleware.
Package hmac provides HMAC-based authentication middleware.
middleware
jwt
Package oidc provides HTTP authentication using OpenID Connect via goth.
Package oidc provides HTTP authentication using OpenID Connect via goth.

Jump to

Keyboard shortcuts

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