Skip to content

Simple Python HTTP service that proxies authentication requests to backend services, such as LDAP.

License

Notifications You must be signed in to change notification settings

joshbenner/httpauthproxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

authproxy

A simple Python 3 service that accepts HTTP requests with an Authorization header, and authenticates the credentials against an identity backend service, such as LDAP.

This is particularly useful in combination with ngx_http_auth_request_module.

Usage

usage: httpauthproxy.py [-h] [-b BIND] -u URL [-p] [--ca-certs-file]
                        [--ca-certs-dir] [--no-verify] [--ldap-user-pattern]
                        [--ldap-member-attr]

Simple HTTP server to proxy authentication requests.

optional arguments:
  -h, --help            show this help message and exit
  -b BIND, --bind BIND  IP:port to bind to (default: 127.0.0.1:8018)
  -u URL, --url URL     URL of auth server (multiple, required)
  -p, --prompt          Return 401 when unauthorized
  --ca-certs-file       Path to CA certs bundle file
  --ca-certs-dir        Path to directory containing CA certs
  --no-verify           Skip TLS verification
  --ldap-user-pattern   User DN string with {} for username
  --ldap-member-attr    User attribute containing group memberships

Example

authproxy -u ldaps://ipa.localdomain.tld \
    --ca-certs-file /etc/ipa/ca.crt \
    --ldap-user-pattern uid={},cn=users,cn=accounts,dc=localdomain,dc=tld

About

Simple Python HTTP service that proxies authentication requests to backend services, such as LDAP.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages