ZITADEL - Identity infrastructure, simplified for you.
  • Go 82.3%
  • TypeScript 12.4%
  • HTML 3.1%
  • SCSS 1.4%
  • CSS 0.4%
  • Other 0.3%
Find a file
Wim Van Laer 3fc0ef2506
Some checks failed
CI / lint_test_build (push) Waiting to run
CI / pack (push) Waiting to run
CI / release (push) Blocked by required conditions
Code Scanning / CodeQL-Build (go) (push) Waiting to run
Code Scanning / CodeQL-Build (javascript) (push) Waiting to run
lint_test_build.yml / feat: added xoauth for smtp (#11239) (push) Failing after 0s
pack.yml / feat: added xoauth for smtp (#11239) (push) Failing after 0s
release.yml / feat: added xoauth for smtp (#11239) (push) Failing after 0s
feat: added xoauth for smtp (#11239)
# Which Problems Are Solved

- Some mail providers (e.g.: MS Exchange) have deprecated plain auth

# How the Problems Are Solved

Adds XOauth2 auth option to SMPT
- SMTP config now can contain XOAuth2 auth config
- Proto files are updated to have a oneof for configuration selection.
Old fields for configuring plain auth are still available not to create
a breaking change. These can be removed in the future.
- Columns are added to the database to persist the config

# Additional Changes

none

# Additional Context

Replace this example with links to related issues, discussions, discord
threads, or other sources with more context.
Use the Closing #issue syntax for issues that are resolved with this PR.
- Closes #8042

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Tim Möhlmann <tim+github@zitadel.com>
2026-01-27 15:11:56 +01:00
.codecov chore(codecov): make codecov configurable in repo (#40) 2020-04-08 07:37:24 +02:00
.devcontainer feat(logging): gcp error reporting (#11355) 2026-01-16 14:24:06 +00:00
.github chore: release tarballs (#10956) 2025-10-23 20:08:24 +02:00
apps chore: management console naming inconsistency (#11390) 2026-01-26 14:52:15 +00:00
backend feat: added xoauth for smtp (#11239) 2026-01-27 15:11:56 +01:00
benchmark chore: management console naming inconsistency (#11390) 2026-01-26 14:52:15 +00:00
cmd chore: management console naming inconsistency (#11390) 2026-01-26 14:52:15 +00:00
console chore: management console naming inconsistency (#11390) 2026-01-26 14:52:15 +00:00
docs feat: added xoauth for smtp (#11239) 2026-01-27 15:11:56 +01:00
internal feat: added xoauth for smtp (#11239) 2026-01-27 15:11:56 +01:00
openapi ci: improve performance (#5953) 2023-07-17 10:08:20 +02:00
packages chore: update deps (#11273) 2026-01-07 09:48:30 +01:00
pkg feat(telemetry): improved instrumentation for observability (#11159) 2026-01-12 05:51:39 +00:00
proto feat: added xoauth for smtp (#11239) 2026-01-27 15:11:56 +01:00
statik feat: api v2beta to api v2 (#8283) 2024-07-26 22:39:55 +02:00
tests/functional-ui chore: management console naming inconsistency (#11390) 2026-01-26 14:52:15 +00:00
.gitattributes chore(devcontainer): improve devcontainer to work on windows and linux (#8194) 2024-06-25 14:40:34 +00:00
.gitignore feat(database): add statement and CTE changes (#11069) 2025-11-14 12:58:22 +00:00
.golangci.yaml chore: rehaul DevX (#10571) 2025-10-08 10:27:02 +02:00
.npmrc chore: 🚀 Migrate monorepo from Yarn to pnpm + Turbo integration + Configuration cleanup (#10165) 2025-07-16 09:10:19 +02:00
.nvmrc chore: reproducible pipeline with dev containers (#10305) 2025-07-24 14:22:32 +02:00
.releaserc.js chore: cleanup .releaserc.js (#10957) 2025-10-23 21:59:43 +02:00
ADOPTERS.md chore(adopters): Update ADOPTERS.md (adds D1V.AI as a new customer case) (#11011) 2025-10-31 22:24:35 +00:00
API_DESIGN.md chore: replace "manager role" with "administrator role" (#11395) 2026-01-21 13:06:27 +05:30
buf.gen.yaml feat: exchange gRPC server implementation to connectRPC (#10145) 2025-07-04 14:06:20 +00:00
buf.work.yaml chore(console): buf stub build (#5215) 2023-02-17 14:09:11 +00:00
changelog.config.js feat: Merge master (#1260) 2021-02-08 16:48:41 +01:00
CODE_OF_CONDUCT.md chore: rename docs links (#3668) 2022-05-20 14:32:06 +00:00
CONTRIBUTING.md chore: management console naming inconsistency (#11390) 2026-01-26 14:52:15 +00:00
go.mod feat(logging): gcp error reporting (#11355) 2026-01-16 14:24:06 +00:00
go.sum feat(logging): gcp error reporting (#11355) 2026-01-16 14:24:06 +00:00
LICENSE chore!: Introduce ZITADEL v3 (#9645) 2025-04-02 16:53:06 +02:00
LICENSING.md chore: rehaul DevX (#10571) 2025-10-08 10:27:02 +02:00
main.go feat(telemetry): improved instrumentation for observability (#11159) 2026-01-12 05:51:39 +00:00
MEETING_SCHEDULE.md docs: add office hours #7 (#8947) 2024-12-04 15:09:41 +00:00
nx.json chore: rehaul DevX (#10571) 2025-10-08 10:27:02 +02:00
package.json fix(login): correctly redirect to /password when ignoreUnknownUsername is set (#11130) 2026-01-14 08:24:48 +00:00
pnpm-lock.yaml docs: Overhauled Quickstart guide to improve developer experience (#11366) 2026-01-21 17:53:17 +01:00
pnpm-workspace.yaml chore: update js-yaml (#11300) 2026-01-07 10:20:01 +00:00
project.json chore: management console naming inconsistency (#11390) 2026-01-26 14:52:15 +00:00
README.md chore: management console naming inconsistency (#11390) 2026-01-26 14:52:15 +00:00
SECURITY.md docs: rename instance settings to default settings (#7484) 2024-03-06 10:36:04 +00:00

Zitadel Logo Zitadel Logo

GitHub Workflow Status (with event) GitHub contributors

Are you searching for a user management tool that is quickly set up like Auth0 and open source like Keycloak?

Do you have a project that requires multi-tenant user management with self-service for your customers?

Look no further — ZITADEL is the identity infrastructure, simplified for you.

We provide you with a wide range of out-of-the-box features to accelerate your project, including:

Multi-tenancy with team management
Secure login
Self-service
OpenID Connect
OAuth2.x
SAML2
LDAP
Passkeys / FIDO2
OTP
SCIM 2.0 Server and an unlimited audit trail is there for you, ready to use.

With ZITADEL, you are assured of a robust and customizable turnkey solution for all your authentication and authorization needs.


🏡 Website 💬 Chat 📋 Docs 🧑‍💻 Blog 📞 Contact

Get started

👉 Quick Start Guide

Deploy ZITADEL (Self-Hosted)

Deploying ZITADEL locally takes less than 3 minutes. Go ahead and give it a try!

See all guides here

If you are interested to get professional support for your self-hosted ZITADEL please reach out to us!

Setup ZITADEL Cloud (SaaS)

If you want to experience a hands-free ZITADEL, you should use ZITADEL Cloud. Available data regions are:

  • 🇺🇸 United States
  • 🇪🇺 European Union
  • 🇦🇺 Australia
  • 🇨🇭 Switzerland

ZITADEL Cloud comes with a free tier, providing you with all the same features as the open-source version. Learn more about the pay-as-you-go pricing.

Adopters

We are grateful to the organizations and individuals who are using ZITADEL. If you are using ZITADEL, please consider adding your name to our Adopters list by submitting a pull request.

Example applications

Clone one of our example applications or deploy them directly to Vercel.

SDKs

Use our SDKs for your favorite language and framework.

Why choose ZITADEL

We built ZITADEL with a complex multi-tenancy architecture in mind and provide the best solution to handle B2B customers and partners. Yet it offers everything you need for a customer identity (CIAM) use case.

Features

Authentication

Multi-Tenancy

Integration

Self-Service

Deployment

Track upcoming features on our roadmap and follow our changelog for recent updates.

How To Contribute

Find details about how you can contribute in our Contribution Guide. Join our Discord Chat to get help.

Contributors

Made with contrib.rocks.

Showcase

Quick Start Guide

Secure a React Application using OpenID Connect Authorization Code with PKCE

Quick Start Guide

Login with Passkeys

Use our Login widget to allow easy and secure access to your applications and enjoy all the benefits of Passkeys (FIDO 2 / WebAuthN):

Passkeys

Management Console

Use Console or our APIs to setup organizations, projects and applications.

Console Showcase

Login V2

Check out our new Login V2 version in our documentation New Login Showcase

Security

You can find our security policy here.

Technical Advisories are published regarding major issues with the ZITADEL platform that could potentially impact security or stability in production environments.

License

here are our exact licensing terms.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See our license for detailed information governing permissions and limitations on use.