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
- Confirm the custom-logo path/URL is reachable and readable
- Convert the image to PNG, JPG or SVG
- 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.