oauth2-proxy/oauth2-proxy · error

error loading logo: %v

Error message

error loading logo: %v

What it means

Wrap error in pagewriter.NewWriter: loadCustomLogo failed to read or decode the configured custom logo (path or URL). The logo must be a PNG, JPG/JPEG or SVG; the error means the asset was unreadable or its format unsupported.

Source

Thrown at pkg/app/pagewriter/pagewriter.go:71

	SignInMessage string

	// CustomLogo is the path or URL to a logo to be displayed on the sign in page.
	// The logo can be either PNG, JPG/JPEG or SVG.
	// If a URL is used, image support depends on the browser.
	CustomLogo string
}

// NewWriter constructs a Writer from the options given to allow
// rendering of sign-in and error pages.
func NewWriter(opts Opts) (Writer, error) {
	templates, err := loadTemplates(opts.TemplatesPath)
	if err != nil {
		return nil, fmt.Errorf("error loading templates: %v", err)
	}

	logoData, err := loadCustomLogo(opts.CustomLogo)
	if err != nil {
		return nil, fmt.Errorf("error loading logo: %v", err)
	}

	errorPage := &errorPageWriter{
		template:    templates.Lookup("error.html"),
		proxyPrefix: opts.ProxyPrefix,
		footer:      opts.Footer,
		version:     opts.Version,
		debug:       opts.Debug,
	}

	signInPage := &signInPageWriter{
		template:         templates.Lookup("sign_in.html"),
		errorPageWriter:  errorPage,
		proxyPrefix:      opts.ProxyPrefix,
		providerName:     opts.ProviderName,
		signInMessage:    opts.SignInMessage,
		footer:           opts.Footer,
		version:          opts.Version,

View on GitHub (pinned to 33c2eb92de)

Solutions

  1. Confirm the custom-logo path/URL is reachable and readable
  2. Convert the image to PNG, JPG or SVG
  3. Check file permissions and that URL fetches are not blocked by network policy
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at pkg/app/pagewriter/pagewriter.go:71 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of oauth2-proxy/oauth2-proxy@33c2eb92de (2026-09-06). Data as JSON: /api/errors/31f123641f843b3a. Report an issue: GitHub.