Stavros 1382ab41e7 refactor: rework user context handling throughout tinyauth (#829)
* wip

* fix: fix util imports

* fix: fix bootstrap import issues

* fix: fix cli imports

* fix: context controller

* fix: use new context in user controller

* fix: fix imports and context in proxy controller

* fix: fix oauth and oidc controller imports and context

* feat: finalize context functionality

* refactor: simplify acls checking logic by passing the entire acl struct

* chore: rename get basic auth to encode basic auth for clarity

* fix: fix controller tests

* tests: fix service tests

* tests: fix utils tests

* tests: move to testify for testing in utils

* fix: fix config reference generator

* tests: add tests for context parsing

* tests: add tests for context middleware

* tests: remove error wrapper from context tests

* tests: fix log wrapper tests

* fix: fix verion setting in cd and dockerfiles

* fix: review comments batch 1

* fix: review comments batch 2

* fix: review comments batch 3

* fix: delete totp pending session cookie on totp success

* tests: fix user controller tests

* fix: don't audit login too early

* fix: own comments
2026-05-07 15:41:07 +03:00
2026-01-17 20:03:29 +02:00
2026-03-02 19:53:17 +02:00
2026-04-27 20:44:44 +03:00
2025-12-22 22:13:40 +02:00
2025-02-08 12:49:45 +02:00
2025-07-17 15:15:47 +03:00
2026-04-27 20:44:44 +03:00
2025-03-23 13:07:53 +02:00
2025-03-09 16:52:17 +02:00
2025-01-19 15:07:23 +02:00
2026-04-27 20:44:44 +03:00

Tinyauth

Tinyauth

The tiniest authentication and authorization server you have ever seen.


Tinyauth is the simplest and tiniest authentication and authorization server you have ever seen. It is designed to both work as an authentication middleware for your apps, offering support for OAuth, LDAP and access-controls, and as a standalone authentication server. It supports all the popular proxies like Traefik, Nginx and Caddy.

Screenshot

Warning

Tinyauth is in active development and configuration may change often. Please make sure to carefully read the release notes before updating.

Note

This is the main development branch. For the latest stable release, see the documentation or the latest stable tag.

Note

Tinyauth is in the process of migrating to the new tinyauthapp organization. The organization is official and it will host all of the Tinyauth related repositories in the future.

Getting Started

You can get started with Tinyauth by following the guide in the documentation. There is also an available docker-compose file that has Traefik, Whoami and Tinyauth to demonstrate its capabilities (keep in mind that this file lives in the development branch so it may have updates that are not yet released).

Demo

If you are still not sure if Tinyauth suits your needs you can try out the demo. The default username is user and the default password is password.

Documentation

You can find documentation and guides on all of the available configuration of Tinyauth in the website.

If you wish to contribute to the documentation head over to the repository.

Discord

Tinyauth has a Discord server. Feel free to hop in to chat about self-hosting, homelabs and of course Tinyauth. See you there!

Contributing

All contributions to the codebase are welcome! If you have any free time, feel free to pick up an issue or add your own missing features. Make sure to check out the contributing guide for instructions on how to get the development server up and running.

Localization

If you like, you can help translate Tinyauth into more languages by visiting the Crowdin page.

License

Tinyauth is licensed under the GNU General Public License v3.0. TL;DR — You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions. For more information about the license check the license file.

Sponsors

A big thank you to the following people for providing me with more coffee:

User avatar: erwinkramer  User avatar: nicotsx  User avatar: SimpleHomelab  User avatar: jmadden91  User avatar: tribor  User avatar: eliasbenb  User avatar: afunworm  User avatar: chip-well  User avatar: Lancelot-Enguerrand  User avatar: allgoewer  User avatar: NEANC  User avatar: ax-mad  User avatar: stegratech  

Acknowledgements

  • Freepik for providing the police hat and badge.
  • Renee French for the original gopher logo.
  • Coderabbit AI for providing free AI code reviews.
  • Syrhu for providing the background image of the app.

Star History

Star History Chart

S
Description
tinyauth is a simple authentication and authorization middleware plugin for Traefik
Readme GPL-3.0 21 MiB
Languages
Go 77.5%
TypeScript 20.2%
CSS 1.1%
Makefile 0.5%
Dockerfile 0.3%
Other 0.4%