Dex logo

Dex

Federated OpenID Connect provider that fronts LDAP, SAML, GitHub, Google, and Active Directory

Open Source Alternative to
Repository activity
  • Stars10.9k
  • Forks1.9k
  • Open Issues504
dex health score - Linux Foundation Insights
License

Apache-2.0

Languages
  • Go
  • HTML
  • CSS
Dex screenshot

About Dex

Dex is an identity service that uses OpenID Connect to authenticate users for other apps. It sits in front of upstream identity providers and lets client apps talk to one OIDC endpoint instead of handling LDAP, SAML, GitHub, Google, or Active Directory directly.

It issues signed ID Tokens as OAuth2 responses, with standard claims such as issuer, subject, audience, expiry, email, groups, and name. Dex can act as a Kubernetes authenticator, and clients such as kubelogin and kubectl can use it for cluster login. It runs natively on Kubernetes using Custom Resource Definitions.

Dex is a single Go binary, licensed under Apache 2.0, with connectors marked stable, beta, or alpha. Connectors include GitHub, GitLab, LinkedIn, Microsoft, Google, LDAP, and SAML, and where the backend allows it Dex can issue refresh tokens and return group membership claims. Clients write their authentication logic once against Dex and let it handle each backend protocol.

Key features

  • OpenID Connect identity provider with OAuth2 ID tokens
  • Connectors for LDAP, SAML, GitHub, Google, and Active Directory
  • Signed JWT claims for user identity and group membership
  • Kubernetes authentication using OIDC and CRDs
  • Single Go binary

Details

First released
2015
Platforms
Linux · Docker
Deployment
Self-hostable
Language
Go
License
Apache 2.0
Auth protocols
OpenID Connect · OAuth 2.0