Ory Kratos
Cloud-native headless identity and user management server written in Go with multi-factor authentication and self-service flows.
Why consider Ory Kratos?
Ory Kratos is an API-first open-source identity and user management system that provides self-service registration, login, multi-factor authentication, and profile management for cloud applications without forcing a proprietary UI.
Learn Ory Kratos by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide3 sections
Architectural Design and Headless Identity
Ory Kratos is an API first identity and user management system for cloud native applications. It centralizes login, registration, recovery, verification, and profile management flows so your services consume them instead of reimplementing them. Rather than forcing application teams into proprietary UI templates, the software decouples business authentication flows from presentation components.
Because authentication logic runs as a standalone microservice, backend systems interact directly with its self-service endpoints. Ory Kratos is headless: it exposes APIs that your application consumes and does not ship a built-in login page. You build the UI in whatever framework you use.
Core Identity Workflows and Protocols
Ory Kratos handles identity: who the user is. Kratos manages credentials, login flows, registration, MFA, and sessions. Ory Hydra handles delegation: issuing OAuth 2.0 access tokens and OpenID Connect ID tokens to third-party applications.
Ory Kratos supports password-based login, social login via any OpenID Connect provider (Google, GitHub, Apple, Facebook, and 15+ preconfigured providers), TOTP, WebAuthn/FIDO2 (YubiKey, FaceID, TouchID, Windows Hello), passkeys for passwordless login, SMS OTP, email OTP, magic links, and lookup/recovery codes.
Infrastructure Setup
Configure databases such as PostgreSQL, MySQL, and CockroachDB.
version: v0.13.0dsn: memoryserve: public: base_url: http://127.0.0.1:4433/ cors: enabled: true admin: base_url: http://kratos:4434/selfservice: default_browser_return_url: http://127.0.0.1:4455/welcome allowed_return_urls: - http://127.0.0.1:4455 methods: password: enabled: trueThe project is distributed under the Apache License Version 2.0.
Related tools
More options with a similar category or technology profile.
diskus
Minimal, fast alternative to du -sh written in Rust using multi-threaded directory traversal.
peco
Simplistic interactive filtering tool for Unix pipelines, process lists, and file trees.
Dapr CLI
Command-line tool for managing Dapr distributed application runtime environments and sidecars.
Freeze
Generate beautiful image screenshots and SVGs of code snippets and terminal outputs.