Table of contents
- Why Casdoor
- Live demos
- Quick start
- Features
- Technology stack
- Documentation
- Integrations
- Security
- Community and support
- Contributing
- Donate
- 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
- 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
- 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.
❤️ Donate
If you find Casdoor useful, please consider supporting its development:
📄 License
Casdoor is licensed under the Apache License 2.0.
© 2026 Casdoor. Licensed under Apache License 2.0.
No comments yet
Be the first to share your take.