proxy

package
v0.0.0-...-f14863f Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2024 License: Apache-2.0 Imports: 54 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrHostNotConfigured = errors.New("acme/autocert: host not configured")

ErrHostNotConfigured indicates the hostname was not configured

Functions

func WithUMAIdentity

func WithUMAIdentity(
	req *http.Request,
	targetPath string,
	user *models.UserContext,
	cookieUMAName string,
	provider *oidc3.Provider,
	clientID string,
	skipClientIDCheck bool,
	skipIssuerCheck bool,
	getIdentity func(req *http.Request, tokenCookie string, tokenHeader string) (*models.UserContext, error),
	authzFunc func(targetPath string, userPerms models.Permissions) (authorization.AuthzDecision, error),
) (authorization.AuthzDecision, error)

Types

type OauthProxy

type OauthProxy struct {
	Provider  *oidc3.Provider
	Config    *config.Config
	Endpoint  *url.URL
	IdpClient *gocloak.GoCloak
	Listener  net.Listener
	Log       *zap.Logger

	Router http.Handler

	Server      *http.Server
	HTTPServer  *http.Server
	AdminServer *http.Server
	Store       storage.Storage
	Upstream    core.ReverseProxy

	Cm       *cookie.Manager
	ErrGroup *errgroup.Group
	// contains filtered or unexported fields
}

func NewProxy

func NewProxy(config *config.Config, log *zap.Logger, upstream core.ReverseProxy) (*OauthProxy, error)

NewProxy create's a new proxy from configuration

func (*OauthProxy) CreateReverseProxy

func (r *OauthProxy) CreateReverseProxy() error

createReverseProxy creates a reverse proxy

func (*OauthProxy) NewOpenIDProvider

func (r *OauthProxy) NewOpenIDProvider() (*oidc3.Provider, *gocloak.GoCloak, error)

newOpenIDProvider initializes the openID configuration, note: the redirection url is deliberately left blank in order to retrieve it from the host header on request

func (*OauthProxy) Run

func (r *OauthProxy) Run() (context.Context, error)

Run starts the proxy service

func (*OauthProxy) Shutdown

func (r *OauthProxy) Shutdown() error

Shutdown finishes the proxy service with gracefully period

type OpenIDRoundTripper

type OpenIDRoundTripper struct {
	http.Header
	// contains filtered or unexported fields
}

func NewOpenIDRoundTripper

func NewOpenIDRoundTripper(rt http.RoundTripper) OpenIDRoundTripper

func (OpenIDRoundTripper) RoundTrip

func (r OpenIDRoundTripper) RoundTrip(req *http.Request) (*http.Response, error)

type PAT

type PAT struct {
	Token *gocloak.JWT
	// contains filtered or unexported fields
}

type RPT

type RPT struct {
	Token string
	// contains filtered or unexported fields
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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