[ PROMPT_NODE_24728 ]
remote-oauth
[ SKILL_DOCUMENTATION ]
# 远程 OAuth
> 将您的 FastMCP 服务器与 Descope、WorkOS、Auth0 和企业 SSO 系统等外部身份提供商集成。
远程 OAuth 集成允许您的 FastMCP 服务器利用**支持动态客户端注册 (DCR)** 的外部身份提供商。通过 DCR,MCP 客户端可以自动向身份提供商注册并获取凭据,无需任何手动配置。这提供了具有完全自动化工作流的企业级身份验证,非常适合具有现代身份提供商的生产应用程序。
> **提示:** **何时使用 RemoteAuthProvider 与 OAuth 代理:**
* **RemoteAuthProvider**:适用于支持动态客户端注册的提供商(Descope、WorkOS AuthKit、现代 OIDC 提供商)
* **OAuth 代理**:适用于不支持动态客户端注册的提供商(GitHub、Google、Azure、AWS、Discord 等)
RemoteAuthProvider 需要 DCR 支持才能实现完全自动化的客户端注册和身份验证。
## 支持 DCR 的提供商
RemoteAuthProvider 适用于支持 **动态客户端注册 (DCR)** 的身份提供商——这是实现自动化身份验证工作流的关键能力:
| 功能 | DCR 提供商 (RemoteAuth) | 非 DCR 提供商 (OAuth 代理) |
| ----------------------- | ------------------------------------ | ----------------------------------------- |
| **客户端注册** | 通过 API 自动完成 | 在提供商控制台中手动完成 |
| **凭据** | 每个客户端动态生成 | 固定应用程序凭据 |
| **配置** | 无需客户端配置 | 预共享凭据 |
| **示例** | Descope, WorkOS AuthKit, 现代 OIDC | GitHub, Google, Azure |
| **FastMCP 类** | `RemoteAuthProvider` | `OAuthProxy` |
如果您的提供商不支持 DCR(大多数传统 OAuth 提供商),您将需要改用 `OAuth 代理`,它弥合了 MCP 的 DCR 期望与固定 OAuth 凭据之间的差距。
## 远程 OAuth 的挑战
传统的 OAuth 工作流假设人类用户通过 Web 浏览器与登录表单、同意屏幕和重定向进行交互。MCP 客户端的运作方式不同——它们通常是需要以编程方式进行身份验证而无需人工干预的自动化系统。
这产生了一些标准 OAuth 实现所特有的需求