{"id":24846786,"url":"https://github.com/steveiliop56/tinyauth","last_synced_at":"2026-04-24T02:09:02.706Z","repository":{"id":273210217,"uuid":"918974884","full_name":"steveiliop56/tinyauth","owner":"steveiliop56","description":"The tiniest authentication and authorization server you have ever seen.","archived":false,"fork":false,"pushed_at":"2026-04-15T00:42:11.000Z","size":15510,"stargazers_count":7225,"open_issues_count":20,"forks_count":225,"subscribers_count":13,"default_branch":"main","last_synced_at":"2026-04-15T02:35:22.803Z","etag":null,"topics":["2fa","authentication","caddy","golang","middleware","nginx","oidc","selfhosted","sso","tinyauth","totp","typescipt"],"latest_commit_sha":null,"homepage":"https://tinyauth.app","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/steveiliop56.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"steveiliop56","buy_me_a_coffee":"steveiliop56"}},"created_at":"2025-01-19T11:40:09.000Z","updated_at":"2026-04-14T21:10:26.000Z","dependencies_parsed_at":"2026-03-04T16:04:11.520Z","dependency_job_id":null,"html_url":"https://github.com/steveiliop56/tinyauth","commit_stats":null,"previous_names":["steveiliop56/tinyauth"],"tags_count":123,"template":false,"template_full_name":null,"purl":"pkg:github/steveiliop56/tinyauth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveiliop56%2Ftinyauth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveiliop56%2Ftinyauth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveiliop56%2Ftinyauth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveiliop56%2Ftinyauth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steveiliop56","download_url":"https://codeload.github.com/steveiliop56/tinyauth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steveiliop56%2Ftinyauth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31928229,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T10:35:34.458Z","status":"ssl_error","status_checked_at":"2026-04-17T10:35:09.472Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2fa","authentication","caddy","golang","middleware","nginx","oidc","selfhosted","sso","tinyauth","totp","typescipt"],"created_at":"2025-01-31T11:01:59.591Z","updated_at":"2026-04-17T12:01:49.906Z","avatar_url":"https://github.com/steveiliop56.png","language":"Go","readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg alt=\"Tinyauth\" title=\"Tinyauth\" width=\"96\" src=\"assets/logo-rounded.png\"\u003e\n    \u003ch1\u003eTinyauth\u003c/h1\u003e\n    \u003cp\u003eThe tiniest authentication and authorization server you have ever seen.\u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/steveiliop56/tinyauth\"\u003e\n    \u003cimg alt=\"Release\" src=\"https://img.shields.io/github/v/release/steveiliop56/tinyauth\"\u003e\n    \u003cimg alt=\"Issues\" src=\"https://img.shields.io/github/issues/steveiliop56/tinyauth\"\u003e\n    \u003cimg alt=\"Tinyauth CI\" src=\"https://github.com/steveiliop56/tinyauth/actions/workflows/ci.yml/badge.svg\"\u003e\n    \u003ca title=\"Crowdin\" target=\"_blank\" href=\"https://crowdin.com/project/tinyauth\"\u003e\u003cimg src=\"https://badges.crowdin.net/tinyauth/localized.svg\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\nTinyauth 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.\n\n![Screenshot](assets/screenshot.png)\n\n\u003e [!WARNING]\n\u003e Tinyauth is in active development and configuration may change often. Please make sure to carefully read the release notes before updating.\n\n\u003e [!NOTE]\n\u003e This is the main development branch. For the latest stable release, see the [documentation](https://tinyauth.app) or the latest stable tag.\n\n\u003e [!NOTE]\n\u003e Tinyauth is in the process of migrating to the new [tinyauthapp](https://github.com/tinyauthapp) organization. The organization **is official** and it will host all of the Tinyauth related repositories in the future.\n\n## Getting Started\n\nYou can get started with Tinyauth by following the guide in the [documentation](https://tinyauth.app/docs/getting-started). There is also an available [docker-compose](./docker-compose.example.yml) 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).\n\n## Demo\n\nIf you are still not sure if Tinyauth suits your needs you can try out the [demo](https://demo.tinyauth.app). The default username is `user` and the default password is `password`.\n\n## Documentation\n\nYou can find documentation and guides on all of the available configuration of Tinyauth in the [website](https://tinyauth.app).\n\nIf you wish to contribute to the documentation head over to the [repository](https://github.com/steveiliop56/tinyauth-docs).\n\n## Discord\n\nTinyauth has a [Discord](https://discord.gg/eHzVaCzRRd) server. Feel free to hop in to chat about self-hosting, homelabs and of course Tinyauth. See you there!\n\n## Contributing\n\nAll contributions to the codebase are welcome! If you have any free time, feel free to pick up an [issue](https://github.com/steveiliop56/tinyauth/issues) or add your own missing features. Make sure to check out the [contributing guide](./CONTRIBUTING.md) for instructions on how to get the development server up and running.\n\n## Localization\n\nIf you like, you can help translate Tinyauth into more languages by visiting the [Crowdin](https://crowdin.com/project/tinyauth) page.\n\n## License\n\nTinyauth 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 \u0026 install instructions. For more information about the license check the [license](./LICENSE) file.\n\n## Sponsors\n\nA big thank you to the following people for providing me with more coffee:\n\n\u003c!-- sponsors --\u003e\u003ca href=\"https://github.com/erwinkramer\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;erwinkramer.png\" width=\"64px\" alt=\"User avatar: erwinkramer\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/nicotsx\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;nicotsx.png\" width=\"64px\" alt=\"User avatar: nicotsx\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/SimpleHomelab\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;SimpleHomelab.png\" width=\"64px\" alt=\"User avatar: SimpleHomelab\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/jmadden91\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;jmadden91.png\" width=\"64px\" alt=\"User avatar: jmadden91\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/tribor\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;tribor.png\" width=\"64px\" alt=\"User avatar: tribor\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/eliasbenb\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;eliasbenb.png\" width=\"64px\" alt=\"User avatar: eliasbenb\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/afunworm\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;afunworm.png\" width=\"64px\" alt=\"User avatar: afunworm\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/chip-well\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;chip-well.png\" width=\"64px\" alt=\"User avatar: chip-well\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/Lancelot-Enguerrand\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;Lancelot-Enguerrand.png\" width=\"64px\" alt=\"User avatar: Lancelot-Enguerrand\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/allgoewer\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;allgoewer.png\" width=\"64px\" alt=\"User avatar: allgoewer\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/NEANC\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;NEANC.png\" width=\"64px\" alt=\"User avatar: NEANC\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/ax-mad\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;ax-mad.png\" width=\"64px\" alt=\"User avatar: ax-mad\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/stegratech\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;stegratech.png\" width=\"64px\" alt=\"User avatar: stegratech\" /\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003c!-- sponsors --\u003e\n\n## Acknowledgements\n\n- **Freepik** for providing the police hat and badge.\n- **Renee French** for the original gopher logo.\n- **Coderabbit AI** for providing free AI code reviews.\n- **Syrhu** for providing the background image of the app.\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=steveiliop56/tinyauth\u0026type=Date)](https://www.star-history.com/#steveiliop56/tinyauth\u0026Date)\n","funding_links":["https://github.com/sponsors/steveiliop56","https://buymeacoffee.com/steveiliop56"],"categories":["Go","后端开发框架及项目","golang"],"sub_categories":["后端项目_其他"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteveiliop56%2Ftinyauth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteveiliop56%2Ftinyauth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteveiliop56%2Ftinyauth/lists"}