Project Awesome project awesome

Casdoor

A UI-first centralized authentication / Single-Sign-On (SSO) platform based. Supports OIDC and OAuth 2, social logins, user management, 2FA based on Email and SMS.

Package 13.5k stars GitHub
Casdoor

Casdoor: AI-First Identity and Access Management (IAM) / AI MCP Gateway

An open-source, AI-first IAM / MCP gateway and authentication server with a web UI.
Supporting MCP, A2A, OAuth 2.0, OIDC (OAuth 2.x), SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, Face ID,
Google Workspace, Azure AD, and more.

Documentation and guides: casdoor.ai

Documentation GitHub Release Docker Pulls Build Status Go Report Card License

GitHub Stars GitHub Forks GitHub Issues Discord Crowdin

Website · Documentation · Live demo · Discord


Table of contents


Why Casdoor

Casdoor is a UI-first identity provider and access management platform: one place to manage users, organizations, applications, and providers, with a modern web console. Authorization policies can be expressed with Casbin (ACL, RBAC, ABAC, and more). Unlike reverse-proxy-centric auth companions, Casdoor is a dedicated auth server with broad protocol support, designed to be straightforward to self-host and integrate—see casdoor.ai for documentation.


🌐 Live demos

Environment URL Description
Read-only door.casdoor.com Global demo; any modification or write operation will fail (read-only).
Writable demo.casdoor.com Full access for testing; data is reset about every 5 minutes.

Default demo admin login (where applicable): admin / 123 — use only for demos; change credentials on your own deployment.


🚀 Quick start

Pick one deployment method below. To keep behavior consistent with upstream, the steps are aligned with official docs.

🛠️ Source code (default)

  1. Install dependencies: Go 1.25 (follow go.mod), Node.js LTS (20), Yarn 1.x, and a supported database.
  2. Clone the repository:
git clone https://github.com/casdoor/casdoor.git
cd casdoor
  1. Configure database in conf/app.conf (at minimum set driverName, dataSourceName, and dbName; for MySQL create database casdoor first).
  2. Build frontend and start backend:
cd web
yarn install
yarn build
cd ..
go run main.go
  1. Open http://localhost:8000 and sign in with built-in/admin / 123 on a fresh install (change password immediately in production).

Official guide: Server installation

🐳 Docker

Use one of the official Docker paths:

  • All-in-one (SQLite quick trial):
docker run -p 8000:8000 casbin/casdoor-all-in-one
  • Docker Compose (with your conf/app.conf next to docker-compose.yml):
docker compose up

Then open http://localhost:8000 and sign in with built-in/admin / 123 on a fresh install.

Official guide: Try with Docker

☸️ Kubernetes Helm

With Helm v3 and a running Kubernetes cluster:

helm install casdoor oci://registry-1.docker.io/casbin/casdoor-helm-charts

After installation, access Casdoor through your cluster service/ingress. The official guide covers chart versions (including optional --version) and cluster-specific settings.

Official guide: Try with Helm


✨ Features

🔐 Authentication

  • OAuth 2.0 / OIDC — OpenID Connect and OAuth 2.x authorization
  • SAML 2.0 — Enterprise SSO integration
  • CAS — Central Authentication Service
  • LDAP — Directory service integration
  • WebAuthn / Passkeys — Passwordless authentication
  • TOTP / MFA — Multi-factor authentication
  • Face ID — Biometric authentication

🏢 Enterprise

  • SCIM 2.0 — User provisioning
  • RBAC — Role-based access control
  • Social Login — Google, GitHub, Azure AD, and more
  • Custom providers — Extensible identity providers
  • User management — Web UI for administration
  • Audit logs — Comprehensive logging
  • Multi-tenancy — Organization support

🤖 AI & MCP

  • MCP Gateway — Model Context Protocol support
  • A2A Protocol — Agent-to-Agent communication
  • AI-First Design — Built for AI applications

🛠️ Developer Experience

  • RESTful API — Complete API coverage
  • SDKs — Go, Java, Python, Node.js, and more
  • Swagger UI — Interactive API documentation
  • Webhooks — Event-driven integrations
  • Customizable UI — Brand theming support

Technology stack

Casdoor is built as a frontend–backend separated project:

  • Web UI: JavaScript and React (web/)
  • API server: Go with Beego, RESTful APIs (repository root)
  • Data: mainstream databases including MySQL, PostgreSQL, and others (overview)
  • Cache: optional Redis for session/cache-style deployments (configure as needed)

📖 Documentation

All product documentation, installation, and tutorials live at casdoor.ai/docs/overview. Start here, then use the sections below.

Install

Connect applications

APIs


🔌 Integrations

Casdoor integrates with common languages and frameworks:

Go Java Python Node.js React Vue Angular

Browse the full list: Integrations.


🤝 Community and support


🌍 Contributing

If you have questions about Casdoor, you can open an issue. Pull requests are welcome; we recommend opening an issue first so you can align with maintainers and the community before larger changes.

Please also read our contribution guidelines before contributing.

Translation and i18n


📄 License

Casdoor is licensed under the Apache License 2.0.


Made with ❤️ By Casdoor

GitHub Stars

© 2026 Casdoor. Licensed under Apache License 2.0.

Back to IAM