Add a company login button to a web app without relying on a third-party identity provider.
Self-host authentication so user accounts and tokens never leave your own servers.
Run a multi-tenant login system where different customer workspaces have isolated users and roles.
Swap in your preferred database (SQLite, PostgreSQL, or MySQL) for storing accounts and tokens.
| dalang-io/sso | adindazu/ultimatevocal | applicative-systems/gcan | |
|---|---|---|---|
| Stars | 18 | 18 | 18 |
| Language | Rust | Rust | Rust |
| Setup difficulty | easy | moderate | easy |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Runs as a single prebuilt binary with an embedded SQLite database, no separate services required to get started.
Dalang SSO is a self-hosted version of the "sign in with Google" style login button, letting you run your own identity provider instead of paying for a service like Auth0 or Okta. You add a "log in with your company account" option to any app you build: register your app once in a web dashboard, get a Client ID and Client Secret, add a small SDK to your app, and users log in through your own domain instead of a third party's. It ships as a single self-contained program with no separate database server required, using an embedded SQLite database by default, though PostgreSQL or MySQL can be used instead just by changing one setting. You start it, open a setup page in your browser, create an administrator account, and you are ready to register your first application. It follows the standard OAuth 2.0 and OpenID Connect protocols, so it works with any library built for those standards, not only its own SDKs, and it ships official SDKs for JavaScript and TypeScript, Rust, Go, Python, Java, and PHP. For larger setups, it supports multiple isolated tenants (separate workspaces) each with their own users and three dashboard permission levels, and the part of it that checks whether a login is valid does not need to contact the database on every request, so it can be run across many servers behind a load balancer. Security features include short-lived tokens that rotate and detect reuse, an optional email allow-list per app, and an experimental option for post-quantum resistant token signing. A typical setup connects a Node.js app in five steps: register the app, add a redirect URL, install the SDK, send users to the login page, and handle the callback that hands back a signed-in user's information. It is released under the Apache 2.0 license.
A self-hosted identity provider you run yourself, letting your app offer a Google-style login button using standard OAuth 2.0 and OpenID Connect.
Mainly Rust. The stack also includes Rust, SQLite, PostgreSQL.
Use freely for any purpose, including commercial use, as long as you keep the copyright and license notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.