{"repo":"leonjza/trauth","free":true,"listed":false,"github":"https://github.com/leonjza/trauth","clone":"git clone https://github.com/leonjza/trauth.git","description":"🔑 A simple, cookie based Traefik middleware plugin for HTTP Basic / Ceritificate Based Single Sign-on","language":"Go","stars":53,"topics":["traefik","sso","authentication","traefik-plugin","forwardauth"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"trauth 🔑 A simple, cookie based Traefik middleware plugin for HTTP Basic or mTLS Single Sign-on trauth can either read htpasswd formatted data as a credentials database, prompting via HTTP basic auth or validate client TLS certificates against a pre-configured CA. Once authenticated, a (configurable) cookie will be set such that any other services sharing that domain will also be authenticated. Note: This plugin changed significantly in the version 1.4.x release from a ForwardAuth server to a middleware plugin. If you are interested in the ForwardAuth server then checkout the old branch. usage As this is a middleware plugin, you need to do two things to use it. Install the plugin and then configure the middleware. installation A static configuration is needed. Either add it to your existing traefik.yml like this: Or, add it as labels to your docker-compose.yml (or similar). authentication types It is possible to use both mTLS and HTTP Basic Authentication at the same time. In that case, trauth will prefer mTLS over basic authentication, but if a connection came it that does not have a client certificate (or isn't TLS to begin with), it will fall back to Basic Authentication. If none of the authentication methods are configured, it will not be possible to authenticate, meaning a webservice protected with trauth will only response with HTTP 401's. For configuration examples refer to the docker-compose.yml files in this repo. For more information about the available configurati","default_branch":null,"files":null,"tree":[],"storefront":"/r/leonjza","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/leonjza/trauth/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}