{"id":13459329,"url":"https://github.com/casdoor/casdoor","last_synced_at":"2026-04-25T10:05:30.707Z","repository":{"id":37043192,"uuid":"306366900","full_name":"casdoor/casdoor","owner":"casdoor","description":"An open-source UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform with web UI supporting OAuth 2.0, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, Face ID, RADIUS, Google Workspace, Active Directory and Kerberos","archived":false,"fork":false,"pushed_at":"2026-02-07T18:25:59.000Z","size":44242,"stargazers_count":12982,"open_issues_count":116,"forks_count":1558,"subscribers_count":76,"default_branch":"master","last_synced_at":"2026-02-08T03:31:17.304Z","etag":null,"topics":["ai-gateway","auth","authentication","authn","casdoor","faceid","iam","ldap","llm-gateway","mcp-gateway","mfa","oauth","oidc","radius","saml","scim","single-sign-on","sso","totp","webauthn"],"latest_commit_sha":null,"homepage":"https://casdoor.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/casdoor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"casbin"}},"created_at":"2020-10-22T14:40:03.000Z","updated_at":"2026-02-07T20:16:35.000Z","dependencies_parsed_at":"2024-01-27T00:45:25.125Z","dependency_job_id":"355ab73e-a9af-468d-b709-6e3c605ecd03","html_url":"https://github.com/casdoor/casdoor","commit_stats":{"total_commits":2368,"total_committers":196,"mean_commits":"12.081632653061224","dds":0.5692567567567568,"last_synced_commit":"46ad0fe0bef47b788644552ec3c6292ca1bd59ad"},"previous_names":["casbin/casdoor","casdoor/casdoor"],"tags_count":1667,"template":false,"template_full_name":null,"purl":"pkg:github/casdoor/casdoor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casdoor%2Fcasdoor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casdoor%2Fcasdoor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casdoor%2Fcasdoor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casdoor%2Fcasdoor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/casdoor","download_url":"https://codeload.github.com/casdoor/casdoor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casdoor%2Fcasdoor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29454686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-gateway","auth","authentication","authn","casdoor","faceid","iam","ldap","llm-gateway","mcp-gateway","mfa","oauth","oidc","radius","saml","scim","single-sign-on","sso","totp","webauthn"],"created_at":"2024-07-31T09:01:16.122Z","updated_at":"2026-04-25T10:05:30.699Z","avatar_url":"https://github.com/casdoor.png","language":"Go","funding_links":["https://github.com/sponsors/casbin"],"categories":["Go","Authentication","Openai","Tooling— Authentication and Authorization","This repo contains the list of awesome repo present in github. A tribute to the freely available awesome educational resources.","`Authentication`","react","Repositories","武器库","后端","Security (2)","Security \u0026 Auth","Platform Engineering","Agent Integration \u0026 Deployment Tools","MCP Servers","Skills \u0026 Plugins"],"sub_categories":["\u003ca name=\"authN-golang\"\u003e\u003c/a\u003eGolang","`SSO (Single-Sign-On)`","后端","用户管理与认证","Identity and Access Management (IAM)","AI Agent Gateway","Other MCP Servers","Third-Party Platforms"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://casdoor.ai\"\u003e\n    \u003cimg src=\"https://cdn.casbin.org/img/casdoor-logo_1185x256.png\" alt=\"Casdoor\" width=\"500\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3\u003eCasdoor: AI-First Identity and Access Management (IAM) / AI MCP Gateway\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003cstrong\u003eAn open-source, AI-first IAM / MCP gateway and authentication server with a web UI.\u003c/strong\u003e\u003cbr\u003e\n    Supporting MCP, A2A, OAuth\u0026nbsp;2.0, OIDC (OAuth\u0026nbsp;2.x), SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, Face ID,\u003cbr\u003e\n    Google Workspace, Azure AD, and more.\n  \u003c/p\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://casdoor.ai/\"\u003e\u003cstrong\u003eDocumentation and guides: casdoor.ai\u003c/strong\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://casdoor.ai/docs/overview\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/documentation-casdoor.ai%2Fdocs-1890ff?style=flat-square\u0026logo=readthedocs\u0026logoColor=white\" alt=\"Documentation\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/casdoor/casdoor/releases/latest\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/v/release/casdoor/casdoor?style=flat-square\u0026color=blue\" alt=\"GitHub Release\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://hub.docker.com/r/casbin/casdoor\"\u003e\n      \u003cimg src=\"https://img.shields.io/docker/pulls/casbin/casdoor?style=flat-square\u0026color=brightgreen\" alt=\"Docker Pulls\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/casdoor/casdoor/actions/workflows/build.yml\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/casdoor/casdoor/build.yml?style=flat-square\u0026label=build\" alt=\"Build Status\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://goreportcard.com/report/github.com/casdoor/casdoor\"\u003e\n      \u003cimg src=\"https://goreportcard.com/badge/github.com/casdoor/casdoor?style=flat-square\" alt=\"Go Report Card\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/casdoor/casdoor/blob/master/LICENSE\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/license/casdoor/casdoor?style=flat-square\u0026color=orange\" alt=\"License\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/casdoor/casdoor/stargazers\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/stars/casdoor/casdoor?style=flat-square\u0026color=yellow\" alt=\"GitHub Stars\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/casdoor/casdoor/network/members\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/forks/casdoor/casdoor?style=flat-square\" alt=\"GitHub Forks\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/casdoor/casdoor/issues\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/issues/casdoor/casdoor?style=flat-square\u0026color=red\" alt=\"GitHub Issues\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://discord.gg/5rPsrAzK7S\"\u003e\n      \u003cimg src=\"https://img.shields.io/discord/1022748306096537660?style=flat-square\u0026logo=discord\u0026label=Discord\u0026color=5865F2\" alt=\"Discord\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://crowdin.com/project/casdoor-site\"\u003e\n      \u003cimg src=\"https://badges.crowdin.net/casdoor-site/localized.svg\" alt=\"Crowdin\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://casdoor.ai\"\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e\u003c/a\u003e ·\n    \u003ca href=\"https://casdoor.ai/docs/overview\"\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/a\u003e ·\n    \u003ca href=\"https://door.casdoor.com\"\u003e\u003cstrong\u003eLive demo\u003c/strong\u003e\u003c/a\u003e ·\n    \u003ca href=\"https://discord.gg/5rPsrAzK7S\"\u003e\u003cstrong\u003eDiscord\u003c/strong\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n## Table of contents\n\n- [Why Casdoor](#why-casdoor)\n- [Live demos](#live-demos)\n- [Quick start](#quick-start)\n- [Features](#features)\n- [Technology stack](#technology-stack)\n- [Documentation](#documentation)\n- [Integrations](#integrations)\n- [Security](#security)\n- [Community and support](#community-and-support)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n\u003ca id=\"why-casdoor\"\u003e\u003c/a\u003e\n## Why Casdoor\n\nCasdoor 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.\n\n---\n\n\u003ca id=\"live-demos\"\u003e\u003c/a\u003e\n## 🌐 Live demos\n\n| Environment | URL | Description |\n|-------------|-----|-------------|\n| **Read-only** | [door.casdoor.com](https://door.casdoor.com) | Global demo; **any modification or write operation will fail** (read-only). |\n| **Writable** | [demo.casdoor.com](https://demo.casdoor.com) | Full access for testing; **data is reset about every 5 minutes**. |\n\nDefault demo admin login (where applicable): `admin` / `123` — use only for demos; change credentials on your own deployment.\n\n---\n\n\u003ca id=\"quick-start\"\u003e\u003c/a\u003e\n## 🚀 Quick start\n\nPick one deployment method below. To keep behavior consistent with upstream, the steps are aligned with official docs.\n\n### 🛠️ Source code (default)\n\n1. Install dependencies: **Go 1.25** (follow `go.mod`), **Node.js LTS (20)**, **Yarn 1.x**, and a supported database.\n2. Clone the repository:\n\n```bash\ngit clone https://github.com/casdoor/casdoor.git\ncd casdoor\n```\n\n3. Configure database in `conf/app.conf` (at minimum set `driverName`, `dataSourceName`, and `dbName`; for MySQL create database `casdoor` first).\n4. Build frontend and start backend:\n\n```bash\ncd web\nyarn install\nyarn build\ncd ..\ngo run main.go\n```\n\n5. Open [http://localhost:8000](http://localhost:8000) and sign in with `built-in/admin` / `123` on a fresh install (change password immediately in production).\n\nOfficial guide: [Server installation](https://casdoor.ai/docs/basic/server-installation)\n\n### 🐳 Docker\n\nUse one of the official Docker paths:\n\n- **All-in-one (SQLite quick trial)**:\n\n```bash\ndocker run -p 8000:8000 casbin/casdoor-all-in-one\n```\n\n- **Docker Compose** (with your `conf/app.conf` next to `docker-compose.yml`):\n\n```bash\ndocker compose up\n```\n\nThen open [http://localhost:8000](http://localhost:8000) and sign in with `built-in/admin` / `123` on a fresh install.\n\nOfficial guide: [Try with Docker](https://casdoor.ai/docs/basic/try-with-docker)\n\n### ☸️ Kubernetes Helm\n\nWith Helm v3 and a running Kubernetes cluster:\n\n```bash\nhelm install casdoor oci://registry-1.docker.io/casbin/casdoor-helm-charts\n```\n\nAfter installation, access Casdoor through your cluster service/ingress. The official guide covers chart versions (including optional `--version`) and cluster-specific settings.\n\nOfficial guide: [Try with Helm](https://casdoor.ai/docs/basic/try-with-helm)\n\n---\n\n\u003ca id=\"features\"\u003e\u003c/a\u003e\n## ✨ Features\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🔐 Authentication\n\n- **OAuth 2.0 / OIDC** — OpenID Connect and OAuth 2.x authorization\n- **SAML 2.0** — Enterprise SSO integration\n- **CAS** — Central Authentication Service\n- **LDAP** — Directory service integration\n- **WebAuthn / Passkeys** — Passwordless authentication\n- **TOTP / MFA** — Multi-factor authentication\n- **Face ID** — Biometric authentication\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🏢 Enterprise\n\n- **SCIM 2.0** — User provisioning\n- **RBAC** — Role-based access control\n- **Social Login** — Google, GitHub, Azure AD, and more\n- **Custom providers** — Extensible identity providers\n- **User management** — Web UI for administration\n- **Audit logs** — Comprehensive logging\n- **Multi-tenancy** — Organization support\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🤖 AI \u0026 MCP\n\n- **MCP Gateway** — Model Context Protocol support\n- **A2A Protocol** — Agent-to-Agent communication\n- **AI-First Design** — Built for AI applications\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🛠️ Developer Experience\n\n- **RESTful API** — Complete API coverage\n- **SDKs** — Go, Java, Python, Node.js, and more\n- **Swagger UI** — Interactive API documentation\n- **Webhooks** — Event-driven integrations\n- **Customizable UI** — Brand theming support\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n\u003ca id=\"technology-stack\"\u003e\u003c/a\u003e\n## Technology stack\n\nCasdoor is built as a **frontend–backend separated** project:\n\n- **Web UI**: JavaScript and **React** ([`web/`](https://github.com/casdoor/casdoor/tree/master/web))\n- **API server**: **Go** with **Beego**, RESTful APIs ([repository root](https://github.com/casdoor/casdoor))\n- **Data**: mainstream databases including **MySQL**, **PostgreSQL**, and others ([overview](https://casdoor.ai/docs/overview))\n- **Cache**: optional **Redis** for session/cache-style deployments (configure as needed)\n\n---\n\n\u003ca id=\"documentation\"\u003e\u003c/a\u003e\n## 📖 Documentation\n\n**All product documentation, installation, and tutorials live at [casdoor.ai/docs/overview](https://casdoor.ai/docs/overview).** Start here, then use the sections below.\n\n**Install**\n\n- [Install from source](https://casdoor.ai/docs/basic/server-installation)\n- [Install with Docker](https://casdoor.ai/docs/basic/try-with-docker)\n- [Install with Kubernetes Helm](https://casdoor.ai/docs/basic/try-with-helm)\n\n**Connect applications**\n\n- [How to connect to Casdoor](https://casdoor.ai/docs/how-to-connect/overview)\n\n**APIs**\n\n- [Public API](https://casdoor.ai/docs/basic/public-api)\n- [Swagger UI](https://door.casdoor.com/swagger) (live API explorer)\n\n---\n\n\u003ca id=\"integrations\"\u003e\u003c/a\u003e\n## 🔌 Integrations\n\nCasdoor integrates with common languages and frameworks:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/go/go-original.svg\" width=\"40\" alt=\"Go\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/java/java-original.svg\" width=\"40\" alt=\"Java\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/python/python-original.svg\" width=\"40\" alt=\"Python\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/nodejs/nodejs-original.svg\" width=\"40\" alt=\"Node.js\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/react/react-original.svg\" width=\"40\" alt=\"React\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/vuejs/vuejs-original.svg\" width=\"40\" alt=\"Vue\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/angularjs/angularjs-original.svg\" width=\"40\" alt=\"Angular\"\u003e\n\u003c/p\u003e\n\nBrowse the full list: [Integrations](https://casdoor.ai/docs/category/integrations).\n\n---\n\n\u003ca id=\"community-and-support\"\u003e\u003c/a\u003e\n## 🤝 Community and support\n\n- **Discord**: [Join our community](https://discord.gg/5rPsrAzK7S)\n- **Contact**: [casdoor.ai/help](https://casdoor.ai/help)\n- **Issues**: [GitHub Issues](https://github.com/casdoor/casdoor/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/casdoor/casdoor/discussions)\n\n---\n\n\u003ca id=\"contributing\"\u003e\u003c/a\u003e\n## 🌍 Contributing\n\nIf 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.\n\nPlease also read our [contribution guidelines](https://casdoor.ai/docs/contributing/) before contributing.\n\n### Translation and i18n\n\n- **Crowdin** is used for translation workflows: [casdoor-site on Crowdin](https://crowdin.com/project/casdoor-site).\n- 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.\n\n---\n\n\u003ca id=\"license\"\u003e\u003c/a\u003e\n## 📄 License\n\nCasdoor is licensed under the [Apache License 2.0](https://github.com/casdoor/casdoor/blob/master/LICENSE).\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n[![Made with ❤️](https://img.shields.io/badge/Made_with-%E2%9D%A4%EF%B8%8F-ff6b6b?style=flat-square\u0026logoColor=white)](https://casdoor.ai) [![By Casdoor](https://img.shields.io/badge/by-Casdoor-4ecdc4?style=flat-square)](https://casdoor.ai)\n\n\u003ca href=\"https://github.com/casdoor/casdoor/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/casdoor/casdoor?style=social\u0026logo=github\u0026label=Star\" alt=\"GitHub Stars\"\u003e\u003c/a\u003e\n\n\u003csub\u003e© 2026 \u003ca href=\"https://casdoor.ai\"\u003eCasdoor\u003c/a\u003e. Licensed under \u003ca href=\"https://github.com/casdoor/casdoor/blob/master/LICENSE\"\u003eApache License 2.0\u003c/a\u003e.\u003c/sub\u003e\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasdoor%2Fcasdoor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcasdoor%2Fcasdoor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasdoor%2Fcasdoor/lists"}