---
name: casdoor
summary: "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."
language: Go
license: Apache-2.0
repo: https://github.com/casdoor/casdoor
source: https://opensources.dev/resource/casdoor
health: 100
---

# 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.

---

## Table of contents

- [Why Casdoor](#why-casdoor)
- [Live demos](#live-demos)
- [Quick start](#quick-start)
- [Features](#features)
- [Technology stack](#technology-stack)
- [Documentation](#documentation)
- [Integrations](#integrations)
- [Security](#security)
- [Community and support](#community-and-support)
- [Contributing](#contributing)
- [Donate](#donate)
- [License](#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**](https://casbin.org/) (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**](https://casdoor.ai) for documentation.

---

## 🌐 Live demos

EnvironmentURLDescription**Read-only**[door.casdoor.com](https://door.casdoor.com)Global demo; **any modification or write operation will fail** (read-only).**Writable**[demo.casdoor.com](https://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:

```bash
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:

```bash
cd web
yarn install
yarn build
cd ..
go run main.go
```

1. Open [http://localhost:8000](http://localhost:8000) and sign in with `built-in/admin` / `123` on a fresh install (change password immediately in production).

Official guide: [Server installation](https://casdoor.ai/docs/basic/server-installation)

### 🐳 Docker

Use one of the official Docker paths:

- **All-in-one (SQLite quick trial)**:

```bash
docker run -p 8000:8000 casbin/casdoor-all-in-one
```

- **Docker Compose** (with your `conf/app.conf` next to `docker-compose.yml`):

```bash
docker compose up
```

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

Official guide: [Try with Docker](https://casdoor.ai/docs/basic/try-with-docker)

### ☸️ Kubernetes Helm

With Helm v3 and a running Kubernetes cluster:

```bash
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](https://casdoor.ai/docs/basic/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/`](https://github.com/casdoor/casdoor/tree/master/web))
- **API server**: **Go** with **Beego**, RESTful APIs ([repository root](https://github.com/casdoor/casdoor))
- **Data**: mainstream databases including **MySQL**, **PostgreSQL**, and others ([overview](https://casdoor.ai/docs/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**](https://casdoor.ai/docs/overview)**.** Start here, then use the sections below.

**Install**

- [Install from source](https://casdoor.ai/docs/basic/server-installation)
- [Install with Docker](https://casdoor.ai/docs/basic/try-with-docker)
- [Install with Kubernetes Helm](https://casdoor.ai/docs/basic/try-with-helm)

**Connect applications**

- [How to connect to Casdoor](https://casdoor.ai/docs/how-to-connect/overview)

**APIs**

- [Public API](https://casdoor.ai/docs/basic/public-api)
- [Swagger UI](https://door.casdoor.com/swagger) (live API explorer)

---

## 🔌 Integrations

Casdoor integrates with common languages and frameworks:

Browse the full list: [Integrations](https://casdoor.ai/docs/category/integrations).

---

## 🤝 Community and support

- **Discord**: [Join our community](https://discord.gg/5rPsrAzK7S)
- **Contact**: [casdoor.ai/help](https://casdoor.ai/help)
- **Issues**: [GitHub Issues](https://github.com/casdoor/casdoor/issues)
- **Discussions**: [GitHub Discussions](https://github.com/casdoor/casdoor/discussions)

---

## 🌍 Contributing

If you have questions about Casdoor, you can [**open an issue**](https://github.com/casdoor/casdoor/issues). 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](https://casdoor.ai/docs/contributing/) before contributing.

### Translation and i18n

- **Crowdin** is used for translation workflows: [casdoor-site on Crowdin](https://crowdin.com/project/casdoor-site).
- The web app uses **i18next**. When you add or change user-visible strings under [`web/`](https://github.com/casdoor/casdoor/tree/master/web), update the English catalog at [`web/src/locales/en/data.json`](web/src/locales/en/data.json) accordingly.

---

## ❤️ Donate

If you find Casdoor useful, please consider supporting its development:

---

## 📄 License

Casdoor is licensed under the [Apache License 2.0](https://github.com/casdoor/casdoor/blob/master/LICENSE).

---

[![Made with ❤️](https://img.shields.io/badge/Made_with-%E2%9D%A4%EF%B8%8F-ff6b6b?style=flat-square&logoColor=white)](https://casdoor.ai) [![By Casdoor](https://img.shields.io/badge/by-Casdoor-4ecdc4?style=flat-square)](https://casdoor.ai)

© 2026 Casdoor. Licensed under Apache License 2.0.
