mrkeyoor.com_
Sat 17 Oct 13:32 UTC
Self-Hostedevaluationupdated 11 Oct 2026

dex review

Dex lets applications use one sign-in connection while people authenticate through an existing company directory or identity provider. It translates those upstream logins into signed identity tokens that compatible applications can understand.

+12stars / 7d
Verdict

Our Dex run passed all 84 tests in 23 seconds after a 32-second install and a 101-second build, making it a credible candidate for connecting existing identities to OpenID Connect applications. Use it when your team already owns the upstream directory and can operate the storage and client configuration. If SAML is mandatory, resolve the published connector warning and documentation conflict before adoption.

We ran it

Lab card: what happened when we ran dexScreenshot of dex (dexidp.io)
Install✓ · 32s226 packages
Build✓ · 101s
Tests✓ · 23s84 passed · 0 failed of 84 (go test)
Repo607 files~127,653 lines of source · 5 MB · 6 CI workflows · Dockerfile

Answers from our run

Does dex build from source?

Dependencies installed in 32 seconds (226 packages), and the build succeeded in 101 seconds. We cloned commit 05a2750 into a clean Debian container with 3 CPUs and no project-specific setup.

Do dex's tests pass?

Yes. The project's own test command finished in 23 seconds and reported 84 passed, 0 failed (go test).

Who should not use dex?

Teams relying on SAML without a separate security assessment: the README and connector docs warn of authentication bypass risks.

What are the alternatives to dex?

Keycloak, Authentik. Our Dex run passed all 84 tests in 23 seconds after a 32-second install and a 101-second build, making it a credible candidate for connecting existing identities to OpenID Connect applications.

Setup3/5Source checks pass, but real sign-in needs credentials and storage
Docs3/5Useful configuration guidance, SAML claims conflict with release notes
Community4/5October 9 push and current connector and session discussions
Maturity4/584 tests pass, with connector warnings and substantial release changes

Who it’s for

Platform teams connecting existing employee identities to Kubernetes and internal applications.
Developers whose applications already support OpenID Connect and need upstream directory connectors.
Operators who can manage identity-service configuration, secrets, storage, and upgrades.

Who it’s NOT for

Teams relying on SAML without a separate security assessment: the README and connector docs warn of authentication bypass risks.
Operators expecting reversible SQL migrations: the storage docs say automatic migrations do not support rollback.
Anyone planning to keep the quick-start SQLite store for production: the docs explicitly call it inappropriate for real workloads.
Teams needing connector behavior settled by the README alone: v2.46.0 lists SAML refresh support while the table still says it is unsupported.

Setup reality

Our sandbox installed commit 05a2750 in 32 seconds, adding 226 packages. The build succeeded in 101 seconds, and go test succeeded in 23 seconds with 84 passed and 0 failed out of 84. The run used golang:1.24-bookworm on Debian with 3 CPUs, 8 GB of RAM, no secrets, and no elevated privileges.

A useful deployment needs a configured issuer URL, registered clients and redirect addresses, an upstream connector with its credentials or directory access, TLS, and persistent storage. The example login configuration does not establish those production connections.

SQL migrations run automatically without rollback support. SQLite is documented for quick setup rather than real workloads. Container entrypoint templates need care when overriding commands, and SAML documentation conflicts with the newest release notes.

Dex lets applications share an identity integration

An application that already speaks OpenID Connect can send its users to Dex instead of learning how to authenticate against every company directory. Dex handles the upstream connection through a connector, then issues signed identity tokens the application understands. The practical attraction is reuse: your Kubernetes tools and internal apps can share the same route to an existing identity provider.

The checkout in our run occupied 5 MB, across 607 files and roughly 127,653 source lines. That modest source footprint suits a component with a specific place in your stack. You still need an upstream account system and applications that consume its tokens correctly. I would choose Dex when federation is the missing piece, then assign responsibility for the directory and application permissions separately.

What happened when we ran it

Our sandbox installed Dex commit 05a2750 in 32 seconds, adding 226 packages, and completed the build in 101 seconds. The October 10, 2026 run used golang:1.24-bookworm in an unprivileged Debian container with 3 CPUs, 8 GB of RAM, and no secrets. Installation and compilation both succeeded. That supports working from source.

The recorded go test step succeeded in 23 seconds: 84 passed and 0 failed out of 84. Our scan found 6 CI workflow files and a Dockerfile, with no tests directory. The directory observation doesn't cancel the passing test result. The supplied measurements contain no vulnerability-audit result, so they provide no basis for calling the dependency tree clean or assigning it an advisory count. Those 84 passing tests cover the command the lab exercised. The sandbox had no production credentials, and the results don't demonstrate sign-in against your directory, group mapping for your employees, or behavior when an upstream service stops answering. A successful repository run earns Dex a deployment trial. It cannot replace checking the actual sign-in and permission paths your users will depend on.

The example login leaves production configuration to you

Dex's getting-started instructions use a configuration file and a local example client. Production needs an issuer URL, registered clients with correct redirect addresses, connector settings, and persistent storage. OAuth connectors need provider credentials, while directory connections need their own access and trust configuration. Your public URL must agree with what clients expect the identity service to be called.

The 32-second installation measured none of that wiring. Dex is also distributed as a container, but the documented entrypoint's template processing can disappear if you override the command and invoke the binary directly. That's an easy configuration difference to miss when moving an example into Kubernetes. Decide how secrets enter the configuration, and check the rendered result without printing credentials into deployment logs.

Storage holds signing keys, and SQL migrations cannot roll back

Dex's storage guidance says its backing store holds sensitive material, including signing keys. It also says SQL migrations happen automatically and do not support rollback. This makes database access and recovery part of running the login service. A routine application deployment becomes harder to reverse if the new binary has already changed the identity database beneath the old one.

The 5 MB checkout is therefore a poor guide to operational effort. Storage choices include SQL databases and Kubernetes custom resources, but the docs describe SQLite as suitable for getting started and inappropriate for real workloads. Pick storage with a recovery procedure your team can execute. I would require a backup and an upgrade rehearsal before connecting important applications, especially where a failed login service could obstruct incident access.

The SAML guidance conflicts with the latest release notes

The SAML connector documentation warns that the connector is unmaintained and likely vulnerable to authentication bypasses. It recommends considering other supported protocols. The README repeats that warning. A team whose only identity source is SAML has a concrete reason to walk away or demand a separate connector assessment before adoption.

Release v2.46.0, published October 7, 2026, lists SAML refresh-token support, while the README table and SAML page still say refresh tokens are unsupported. That is a documentation conflict, not something our 84-test result resolves. Pin the version you intend to deploy and verify its connector behavior. I would not promise offline access through SAML from this evidence, nor assume the release entry removes the published security warning.

October maintenance includes new authentication behavior

The repository was pushed on October 9, 2026. GitHub reported 11,182 stars and 530 open issues and PRs combined, with recent discussion and pull-request updates around startup, logout, and connector behavior. The latest release, v2.46.0, adds TOTP and WebAuthn support and changes session handling. Those dates show ongoing maintenance, while the breadth of authentication changes argues for reading the release notes before upgrading.

The clean 23-second test step gives you a better starting point than a failed fresh-container suite. Recent pull requests still describe integration problems, including an upstream signing-key fetch that can stall authentication. An open proposed fix is evidence of work and a reported limitation, not proof that every released deployment has received it. Keep the version and connector configuration attached to any acceptance result.

Choose Dex when you already know who owns the users

Keycloak is a more relevant alternative when you want broader identity administration in the same system. Authentik is worth comparing when application integrations and an operator-facing management interface are central requirements. Dex's advantage is clearest when an existing directory already owns the accounts and you need applications to consume a common identity protocol. An unnecessary identity service adds another login dependency.

I would trial Dex behind an existing identity provider, using the exact client and connector combination intended for deployment. Our 226-package install and passing suite make source work approachable. The decisive checks come afterward: a user signs in, receives the expected claims, loses access when intended, and can recover from an upstream outage. If SAML is mandatory, resolve the documentation warning before making Dex your organization's login dependency.

Alternatives

ProjectWhat it isPick it when
Keycloak gh↗An identity and access-management server with account administration.pick this instead when you want broader user and identity administration in the same deployment.
Authentik gh↗A self-hosted identity provider with application integrations and management UI.pick this instead when an operator-facing interface and application integration workflows are central requirements.

What people are saying

  1. [github-trending] dexidp/dex
  2. [github-trending] superdurable/dex

Sources

  1. Dex README and connector matrix
  2. Configuration and container entrypoint behavior
  3. Storage requirements and migration limits
  4. SAML connector warning and caveats
  5. Release v2.46.0
  6. Proposed bounded signing-key fetch, PR 5050
  7. Keycloak project
  8. Authentik project

More self-hosted reviews

playport · edge-smart-doh · Comma · ProsperoEden · zulu · node_exporter · the whole board →