TOKREPO · 主题包
稳定

MCP 认证 + 身份栈

给要在 MCP server 里接 OAuth / SAML / SSO 的开发者准备的 9 件套 — 先 secret vault(Infisical / sops),再 OAuth/OIDC 流程助手(OpenAuth、Device Flow checklist),再身份源(Keycloak / Dex),再细粒度 scope(Casbin / OPA),最后审计(mcp-audit)。安装顺序有讲究,取舍说人话。

9 个资产

这个 pack 包含什么

这套是给已经下定决心「我的 MCP server 不能再把 OPENAI_API_KEY 写在 .env.example 里」的工程师准备的。每个都是开源生产级、对应认证洋葱里的一个特定层安装顺序要紧 — 底层装错,上面每一层都会骗你。

这套里没有 Auth0 wrapper 或一键 SSO 的 SaaS。目标是端到端把信任边界握在自己手里 —— 因为如果你的 MCP server 帮 agent 把工具调用打到客户数据库,信任边界就是产品

推荐安装顺序

  1. Infisical — 给开发者用的 secret vault。替掉 .env,给每个 service 一份带类型的 secret。可自托管,有 CLI 和 SDK。从这里起步,因为后面每个工具都要找个地方放 client secret / signing key / webhook token。别带着明文 secret 直接跳到第 2 步
  2. sops — 给提交到 git 的配置加密。Infisical 管运行时,sops 管你确实想入库的 YAML / JSON / env 文件(Helm values、Terraform tfvars、GitHub Actions)。Mozilla 出的事实标准,底层用 KMS / age / PGP。和 Infisical 是搭档不是替代。
  3. OpenAuth — 可自托管的通用 auth server,SST 团队出品。如果想自己当 OAuth 2.1 + OIDC 发证方又不想接 Auth0/Clerk,这就是替代品。默认配置合理、TypeScript 优先、能跑在 Lambda / Cloudflare / Node 上。如果你 MCP 后端是 JS/TS 且公司没有现成 IdP,选这个。
  4. OAuth Device Flow — CLI Agent Login Checklist — 不是一个 server,是一份 checklist。CLI agent(Claude Code / Codex / Cursor / 你自己的 MCP 客户端)通过 RFC 8628 device flow 登录。这份 checklist 覆盖 user code、polling interval、token 存储、refresh、和会咬人的边界(verifier 复用 / polling DoS / shell 历史里的 user code)。写流程之前先读,不是写完之后。
  5. Keycloak — 重量级 IdP,原生支持 SAML / OIDC / LDAP 联邦。如果你客户要把 MCP server 挂到 Okta / Azure AD / Google Workspace 上做 SAML 联邦,选这个。Java 写的,自带 admin UI,15+ 年 CVE 修复积累。占资源(1-2 GB RAM)但稳如老狗。
  6. Dex — 轻量级 OIDC 身份源,支持可插拔 connector。如果你想要一个小 Go 二进制把 LDAP / GitHub / Google / SAML 联邦成单个 OIDC issuer 然后就完事,选 Dex 不选 Keycloak。Kubernetes 原生、没有 admin UI 要维护。云原生团队默认 Dex,传统企业默认 Keycloak。
  7. Casbin — 灵活的策略式访问控制。认证(你是谁?)之后是授权(你能做什么?)。Casbin 把 RBAC / ABAC / RESTful matcher 都塞进一个小 config 文件,15+ 语言都有库。定义 (subject, object, action) 规则,在每个 MCP tool 入口检查。应用层 scope 的合适尺寸
  8. Open Policy Agent (OPA) — 基于 Rego 的云原生统一策略引擎。如果策略要跨多个 service —— admission control / sidecar 执行 / terraform plan 校验 / MCP gateway 中间件 —— 选 OPA 不选 Casbin。比 Casbin 重,但当「谁能调这个 MCP tool」和「谁能部署这个 pod」是同一个问题时,它才是正确答案。
  9. mcp-audit — 扫 MCP 配置找 secret 和 shadow API。诚实的审计步骤:指向你的 MCP server 配置,它会标出硬编码的 key、没声明的 egress、没加 scope 的 tool。每次改动后在 CI 里跑。你需要这个 pack 恰恰是因为前面 8 层都很容易配错

它们怎么协同

         ┌─ Infisical (运行时 secret) ─┐
SECRET   │                              │── 下面每一层都要用
         └─ sops (入库 secret) ────────┘
             │
             ▼
AUTHN    OpenAuth  /  Keycloak  /  Dex
   (你的 MCP server 发 / 验 OIDC token)
             │
             ▼
流程     OAuth Device Flow Checklist
   (CLI agent 没浏览器也能登录)
             │
             ▼
AUTHZ    Casbin (进程内)  /  OPA (sidecar)
   (每个 MCP tool 调用都过一遍策略)
             │
             ▼
审计     mcp-audit (CI 闸口)  +  签名审计日志
   (出事时能给客户或监管证明)

最容易被跳过的一层是 scope —— 团队接好了 OAuth,然后把每个 MCP tool 暴露给每个登录用户。这就是认证版的 chmod 777第一天就选 Casbin 或 OPA,在第一个真业务 tool 上线之前把策略文件写进 repo。

你会遇到的取舍

  • Infisical vs HashiCorp Vault — Vault 更强(动态 secret / PKI / transit 加密 / lease)但运维成本高。Infisical 在 DX 上完胜,对 90% 的 MCP server 足够。等需要短期数据库凭据或审计师明确要求时再换 Vault。
  • OpenAuth vs Keycloak vs Dex — OpenAuth = 用 TS 廉价自建 IdP。Keycloak = 自带 admin UI 的企业级 IdP。Dex = 套在现有身份源前面的 OIDC 桥。别同时跑两个,token 发证方只能有一个。
  • Casbin vs OPA — Casbin 进程内、微秒级延迟、model 文件简单。OPA 跑成 service 或 sidecar,支持复杂 Rego,跟 Kubernetes / Envoy / Terraform 集成好。策略只在你 MCP server 里用 → Casbin;策略要全组织通用 → OPA。
  • Device Flow vs PKCE redirect — 没浏览器的 CLI / agent 客户端选 device flow(读 checklist)。桌面或 Web MCP 客户端有浏览器,选 PKCE redirect,简单且更安全。
  • mcp-audit 闸口 vs 运行时 — CI 闸口防配置漂移,运行时审计抓行为。最终都要,先把 CI 闸口接上。

常见踩坑

  • secret 写在 claude_desktop_config.json.cursor/mcp.json — 这些文件最后会进 dotfile repo / 屏幕共享 / 帖子截图。改成引用 Infisical handle 或 sops 加密文件,不要写原值。
  • OAuth client secret 跨环境复用 — MCP server 经常有 dev/staging/prod 三套;泄一个就同时报废三套。第一天就发三套独立 client
  • 拿 OIDC ID token 当 bearer 调上游 API — ID token 是给客户端用的,不是给上游 API 的。要先换成带正确 aud 和 scope 的 access token。
  • 给每个登录用户都发 mcp:* scope — 定义 tool 级 scope(mcp:tool:read_filemcp:tool:exec),在中间件里检查。Casbin / OPA 存在就是为了干这个
  • tool 调用没审计日志 — 当客户问「这个 agent 真的删了那条记录吗?」你需要的是签名 + append-only 的日志。mcp-audit 抓配置问题,你 MCP server 自己也要发结构化审计事件
安装 · 一行命令
$ tokrepo install pack/mcp-auth-identity-stack
丢给 agent,或粘到终端
包内含什么

9 个资产打包就绪

Skill#01
Infisical — Open-Source Secret Management

Manage API keys and secrets across teams and environments. Auto-sync to apps, rotation, audit logs. 25K+ GitHub stars.

by Skill Factory·426 views
$ tokrepo install infisical-open-source-secret-management-41fbcc5c
Skill#02
sops — Simple and Flexible Secrets Management

sops (Secrets OPerationS) encrypts values in YAML, JSON, ENV, and INI files while keeping keys in plaintext. This lets you version-control encrypted secrets in Git, using age, AWS KMS, GCP KMS, Azure Key Vault, or PGP as encryption backends.

by Script Depot·258 views
$ tokrepo install sops-simple-flexible-secrets-management-f8f53103
Script#03
OpenAuth — Universal Auth Server You Can Self-Host

Dax Raad's team's centralized auth server you self-host. Multi-tenant, OAuth/password/SAML/passkey. Auth0/Clerk replacement with full control.

by SST·217 views
$ tokrepo install openauth-universal-auth-server-you-can-self-host
Skill#04
OAuth Device Flow — CLI Agent Login Checklist

OAuth device flow checklist for CLI and agent login. Covers user codes, polling intervals, token storage, logs, and security boundaries.

by henuwangkai·151 views
$ tokrepo install oauth-device-flow-cli-agent-login-checklist-09df47ef
Skill#05
Keycloak — Open Source Identity & Access Management

Keycloak is the most widely deployed open-source IAM solution. SSO, OIDC, SAML, LDAP federation, MFA, social login, and user management for enterprise applications.

by AI Open Source·250 views
$ tokrepo install keycloak-open-source-identity-access-management-2d385875
Skill#06
Dex — OpenID Connect Identity Provider with Pluggable Connectors

Federate authentication across LDAP, SAML, GitHub, Google, and other identity providers through a single OIDC and OAuth 2.0 interface.

by AI Open Source·191 views
$ tokrepo install dex-openid-connect-identity-provider-pluggable-connectors-ecd851b3
Skill#07
Casbin — Flexible Policy-Based Access Control Framework

Casbin is an authorization library that supports access control models including ACL, RBAC, and ABAC. It provides a unified API across Go, Java, Node.js, Python, and other languages, letting developers define and enforce fine-grained permissions using a declarative policy language.

by AI Open Source·160 views
$ tokrepo install casbin-flexible-policy-based-access-control-framework-e2e074be
Skill#08
Open Policy Agent (OPA) — Unified Policy Engine for Cloud Native

CNCF graduated policy engine that decouples authorization and admission rules from your services. Write policies once in Rego, evaluate them anywhere.

by AI Open Source·251 views
$ tokrepo install open-policy-agent-opa-unified-policy-engine-cloud-native-4153bc1e
MCP#09
mcp-audit — Scan MCP Configs for Secrets & Shadow APIs

Audit MCP server configs and source trees to find exposed secrets, risky endpoints, and model access. Outputs JSON/CSV/SARIF/CycloneDX AI-BOM for CI gates.

by MCP Hub·126 views
$ tokrepo install mcp-audit-scan-mcp-configs-for-secrets-shadow-apis
常见问题

常见问题

Infisical 和 sops 真的都要装?

是的,它们解决不同问题。Infisical 替代运行时的 .env —— 你的服务启动时通过类型化 SDK 或 sidecar 拉 secret,自带轮换和访问日志。sops 加密的是你想入库到 git 的 YAML / JSON / tfvars 文件(Helm values、Terraform variable、GitHub Actions 输入)。Infisical 是活 secret 的真理源,sops 是让声明式配置在 PR 里可 review 又不泄漏字面值的工具。两者搭档而非替代。

OpenAuth、Keycloak、Dex 怎么选?

TypeScript 团队从零自建 IdP、没有遗留身份源 —— 选 OpenAuth。客户要完整企业 IdP(和 Okta/Azure AD 做 SAML 联邦、admin UI、自助账号、开箱 MFA)—— 选 Keycloak。已经有身份源(LDAP / GitHub / Google)只缺一个 OIDC 桥 —— 选 Dex。同时跑两个 = 攻击面翻倍,token 发证方只能有一个。

Casbin vs OPA — OPA 的额外复杂度什么时候值得?

Casbin 适合:策略只活在你一个 MCP server 里,问题是「subject X 是不是 role Y」或「subject X 对资源 R 是否有 Z 权限」。OPA 适合:同一个策略要被多个服务执行(MCP gateway / Kubernetes admission / Terraform plan check / API gateway),需要单一 Rego 规则作为真理源。如果你别处还没跑 OPA,Casbin 起步更快、运维负担为零。

OAuth Device Flow Checklist 到底能帮我省什么?

省的是「第二次 code review 能抓到、第一次直接给你拿 CVE」的那些错误:retry 时不轮换 device code、polling 比服务器 interval 快被限流、把完整 user code 打进 shell 历史、refresh token 存 ~/.config 还 mode 644、logout 时不撤销 refresh token。Checklist 是一页起飞前自查,让资深 reviewer 跳过显眼问题直接看你真实流程。

mcp-audit 跟 Gitleaks 这种通用 secret 扫描器有啥区别?

Gitleaks 扫 git 历史里任何看起来像 credential 的字符串。mcp-audit 专门理解 MCP server 配置 schema —— 它会标出没有 scope 的 MCP tool、声明 network_access: true 却没列上游 host 的 server、不加限制就挂宿主文件系统的配置。不同层:Gitleaks 管 repo,mcp-audit 管 MCP 配置。CI 里两个一起跑,几乎不重叠。

更多主题包

12 个主题包 · 80+ 精选资产

回首页浏览全部精选合集

返回主题包总览