MCPcopy
hub / github.com/tinyauthapp/tinyauth

github.com/tinyauthapp/tinyauth @v5.0.7 sqlite

repository ↗ · DeepWiki ↗ · release v5.0.7 ↗
511 symbols 1,512 edges 117 files 12 documented · 2%
README
<img alt="Tinyauth" title="Tinyauth" width="96" src="https://github.com/tinyauthapp/tinyauth/raw/v5.0.7/assets/logo-rounded.png">
<h1>Tinyauth</h1>

The tiniest authentication and authorization server you have ever seen.

<img alt="License" src="https://img.shields.io/github/license/steveiliop56/tinyauth">
<img alt="Release" src="https://img.shields.io/github/v/release/steveiliop56/tinyauth">
<img alt="Issues" src="https://img.shields.io/github/issues/steveiliop56/tinyauth">
<img alt="Tinyauth CI" src="https://github.com/steveiliop56/tinyauth/actions/workflows/ci.yml/badge.svg">
<a title="Crowdin" target="_blank" href="https://crowdin.com/project/tinyauth"><img src="https://badges.crowdin.net/tinyauth/localized.svg"></a>

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

Extension points exported contracts — how you extend this code

OAuthServiceImpl (Interface)
(no doc) [1 implementers]
internal/service/oauth_broker_service.go
Props (Interface)
(no doc)
frontend/src/components/auth/login-form.tsx
DBTX (Interface)
(no doc)
internal/repository/db.go
UserinfoExtractor (FuncType)
(no doc)
internal/service/oauth_service.go
Props (Interface)
(no doc)
frontend/src/components/auth/totp-form.tsx
Props (Interface)
(no doc)
frontend/src/components/ui/oauth-button.tsx
Props (Interface)
(no doc)
frontend/src/components/domain-warning/domain-warning.tsx

Core symbols most depended-on inside this repo

cn
called by 34
frontend/src/lib/utils.ts
Capitalize
called by 17
internal/utils/string_utils.go
QueryRowContext
called by 15
internal/repository/db.go
ParseUser
called by 14
internal/utils/user_utils.go
Init
called by 13
internal/utils/tlog/log_wrapper.go
CheckFilter
called by 12
internal/utils/security_utils.go
SanitizeHeader
called by 12
internal/utils/label_utils.go
FilterIP
called by 11
internal/utils/security_utils.go

Shape

Function 204
Method 178
Struct 119
Interface 6
TypeAlias 3
FuncType 1

Languages

Go81%
TypeScript19%

Modules by API surface

internal/service/auth_service.go41 symbols
internal/config/config.go35 symbols
internal/service/oidc_service.go33 symbols
internal/repository/oidc_queries.sql.go25 symbols
internal/controller/proxy_controller.go20 symbols
internal/controller/oidc_controller.go15 symbols
frontend/src/components/ui/dropdown-menu.tsx15 symbols
internal/service/ldap_service.go13 symbols
internal/service/oauth_broker_service.go12 symbols
internal/service/oauth_service.go10 symbols
frontend/src/components/ui/select.tsx10 symbols
internal/controller/user_controller.go9 symbols

Dependencies from manifests, versioned

charm.land/bubbles/v2v2.0.0 · 1×
charm.land/bubbletea/v2v2.0.2 · 1×
charm.land/huh/v2v2.0.3 · 1×
charm.land/lipgloss/v2v2.0.1 · 1×
dario.cat/mergov1.0.1 · 1×
github.com/Azure/go-ntlmsspv0.1.0 · 1×
github.com/BurntSushi/tomlv1.6.0 · 1×
github.com/Masterminds/goutilsv1.1.1 · 1×
github.com/Masterminds/semver/v3v3.3.0 · 1×
github.com/Masterminds/sprig/v3v3.3.0 · 1×
github.com/Microsoft/go-winiov0.6.2 · 1×
github.com/atotto/clipboardv0.1.4 · 1×

For agents

$ claude mcp add tinyauth \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact