casdoor
casdoor is an open-source Go project with 13.8k GitHub stars. It is associated with agent, agentic-ai, agi, ai-gateway. The repository is actively maintained, with recent commits.
Apache-2.0Permissive — free to use in commercial and proprietary software, with attribution.View license →
Production readiness
4/5- Actively maintainedCommits in the last 6 months
- No known vulnerabilitiesNot yet scanned
- Clear, usable licenseApache-2.0 (permissive)
- Proven adoptionWidely used
- Has documentationDocumentation indexed
go get casdoorTable 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
EnvironmentURLDescriptionRead-onlydoor.casdoor.comGlobal demo; any modification or write operation will fail (read-only).Writabledemo.casdoor.comFull 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
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.