whatisgithub

What is sso?

dalang-io/sso — explained in plain English

Analysis updated 2026-05-18

18RustAudience · developerComplexity · 3/5LicenseSetup · easy

In one sentence

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.

Mindmap

mindmap
  root((Dalang SSO))
    What it does
      Self hosted identity provider
      OAuth 2.0 and OpenID Connect
      Single binary no setup
    Tech stack
      Rust
      SQLite or Postgres
      Six official SDKs
    Use cases
      Company login button
      Data sovereign auth
      Multi tenant apps
    Audience
      Developers
      Self hosting teams

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add a company login button to a web app without relying on a third-party identity provider.

USE CASE 2

Self-host authentication so user accounts and tokens never leave your own servers.

USE CASE 3

Run a multi-tenant login system where different customer workspaces have isolated users and roles.

USE CASE 4

Swap in your preferred database (SQLite, PostgreSQL, or MySQL) for storing accounts and tokens.

What is it built with?

RustSQLitePostgreSQLOAuth 2.0OpenID Connect

How does it compare?

dalang-io/ssoadindazu/ultimatevocalapplicative-systems/gcan
Stars181818
LanguageRustRustRust
Setup difficultyeasymoderateeasy
Complexity3/52/52/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Runs as a single prebuilt binary with an embedded SQLite database, no separate services required to get started.

Use freely for any purpose, including commercial use, as long as you keep the copyright and license notice.

So what is it?

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.

Copy-paste prompts

Prompt 1
Walk me through setting up Dalang SSO locally with the prebuilt binary and creating my first admin account.
Prompt 2
Show me how to register a Node.js app with Dalang SSO and add login using the @dalang-io/sso SDK.
Prompt 3
Explain how Dalang SSO's OAuth 2.0 Authorization Code flow works between my app, the SSO server, and the browser.
Prompt 4
Help me configure Dalang SSO to use PostgreSQL instead of the default embedded SQLite database.

Frequently asked questions

What is sso?

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.

What language is sso written in?

Mainly Rust. The stack also includes Rust, SQLite, PostgreSQL.

What license does sso use?

Use freely for any purpose, including commercial use, as long as you keep the copyright and license notice.

How hard is sso to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is sso for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.