Architecture

Authwall is an authentication proxy: it sits in front of an app, handles sign-in, and forwards authenticated requests upstream. This page is a high-level map of its big blocks — follow the links for detail.

The big blocks, with their options:

flowchart LR
    subgraph authwall [Authwall]
        server[HTTP server / proxy]
        flows[Sign-in flows]
        sessions[Sessions]
        access[Access control]
    end

    authwall -->|X-Auth-User| app([Upstream app])
    authwall --> db[(Database)]
    authwall --> mailer[Mailer]
    authwall --> oauth[OAuth providers]
    authwall --> logger[Logger]
    authwall --> sentry[Sentry]

    click server "deployment.html"
    click flows "sign-in-flows.html"
    click sessions "security.html"
    click access "config.html#access-rules"
    click db "config.html#authwall_db"
    click mailer "config.html#authwall_mailer"
    click oauth "oauth-providers.html"
    click logger "config.html#authwall_logger"
    click sentry "config.html#sentry"