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.
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
Website · Documentation · Live demo · Discord
Table of contents
- Why Casdoor
- Live demos
- Quick start
- Features
- Technology stack
- Documentation
- Integrations
- Security
- Community and support
- Contributing
- License
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)
- Install dependencies: Go 1.25 (follow
go.mod), Node.js LTS (20), Yarn 1.x, and a supported database. - Clone the repository:
git clone https://github.com/casdoor/casdoor.git
cd casdoor
- Configure database in
conf/app.conf(at minimum setdriverName,dataSourceName, anddbName; for MySQL create databasecasdoorfirst). - Build frontend and start backend:
cd web
yarn install
yarn build
cd ..
go run main.go
- Open http://localhost:8000 and sign in with
built-in/admin/123on 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.confnext todocker-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
|
🏢 Enterprise
|
🤖 AI & MCP
|
🛠️ Developer Experience
|
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
- Public API
- Swagger UI (live API explorer)
🔌 Integrations
Casdoor integrates with common languages and frameworks:
Browse the full list: Integrations.
🤝 Community and support
- Discord: Join our community
- Contact: casdoor.ai/help
- Issues: GitHub Issues
- Discussions: GitHub Discussions
🌍 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
- Crowdin is used for translation workflows: casdoor-site on Crowdin.
- The web app uses i18next. When you add or change user-visible strings under
web/, update the English catalog atweb/src/locales/en/data.jsonaccordingly.
📄 License
Casdoor is licensed under the Apache License 2.0.