配置 OAuth 动态客户端注册
上次更新日期:2026/9/30OAuth 动态客户端注册 (DCR) 是一项租户级 OAuth 功能,允许兼容的 OAuth 客户端应用程序动态注册 OAuth 客户端。在此上下文中,兼容的 OAuth 客户端应用程序是指支持 OAuth 2.0 DCR 协议并满足您的租户策略要求的应用程序。
当您的租户需要以更少的手动设置接入多个 OAuth 客户端,同时仍能应用针对身份验证、用户同意和作用域管理的租户控制时,请使用 DCR。DCR 的主要用例是连接模型上下文协议 (MCP) 服务器客户端,但您也可以将其用于其他兼容的第三方应用程序。如果您希望直接创建和维护每个客户端,请改用手动 OAuth 客户端设置。有关手动设置的详细信息,请参阅 创建 OAuth 客户端。
发布与同意是独立的控制项:
-
发布限制了同一区域中的其他租户是否可以使用 OAuth 客户端。
-
同意方法(必需或 受信任)控制是否在授权过程中提示用户。
有关手动设置和同意行为(包括发布限制)的详细信息,请参阅 创建 OAuth 客户端 和 创建和管理 OAuth 客户端。
前提条件和注意事项
先决条件:
-
您是 Qlik Cloud 中的租户管理员。
注意事项:
-
当启用 DCR 时,兼容的 OAuth 客户端应用程序可以根据您的 DCR 策略在您的租户中请求 OAuth 客户端注册。在生产环境中启用 DCR 之前,请检查您允许的身份验证方法和审批流程。
-
通过 DCR 创建的客户端最初分配有 user_default、mcp:execute 和 offline_access 作用域。要了解有关这些作用域的更多信息, 请参阅 Qlik 开发者门户的 作用域下的完整作用域列表。
-
未批准的 DCR 客户端会在一小时后自动删除。如果在该期限内没有租户管理员在第三方应用程序中批准该客户端,该客户端将被删除,用户必须重新创建连接。
配置 DCR 设置
配置动态客户端注册设置,以控制 OAuth 客户端应用程序如何在您的租户中注册 OAuth 客户端。
在 Qlik Cloud 中配置 DCR
执行以下操作:
-
在 Administration 活动中心,转到 设置 > 安全性。
-
启用动态客户端注册。
禁用 DCR 时,无法动态注册新客户端。现有的动态注册客户端将保持正常运行,直到您手动将其移除或撤销其批准。
-
从允许的身份验证方法中,选择动态注册的客户端可以使用的身份验证方法:
-
客户端机密:允许机密客户端,例如具有安全后端的 Web 应用程序。
-
客户端密钥 + 无:同时允许机密客户端和公共客户端。
-
无:允许公共客户端,例如单页面应用程序或原生应用程序。
尝试使用您的策略所不允许的方法进行注册的应用程序将被拒绝。
有关这些身份验证方法的更多信息,请参阅以下部分 身份验证方法。
-
在 OAuth 客户端应用程序中配置 DCR
在 Qlik Cloud 中配置 DCR 后,请在您的 OAuth 客户端应用程序中配置 DCR 连接。连接详情因用例而异。
执行以下操作:
-
在 OAuth 客户端应用程序中配置连接时,请使用适用于您用例的连接 URL:
用例 连接 URL 格式 MCP 或 GenAI 客户端 https://<tenant-id>.<region>.qlikcloud.com/api/ai/mcp 有关 MCP 配置的更多信息,请参阅 连接到 Qlik MCP 服务器。
其他 OAuth 客户端应用程序 https://<tenant-id>.<region>.qlikcloud.com -
检查新注册的 DCR 客户端的批准和同意行为:
-
验证新的 DCR 客户端在使用前需要显式租户批准。在第三方应用程序中,出现提示时授予批准。
-
首个获批准的连接使用 必需 同意。
-
获得批准后,在 Qlik Cloud 中编辑客户端;如果符合您的安全策略,请将其同意方式更改为 受信任。
租户批准会在您的 Qlik Cloud 租户与 OAuth 客户端应用程序之间建立租户级信任。在租户管理员连接、进行身份验证并批准同意请求后,其他用户可以通过同一 OAuth 应用程序连接到 Qlik Cloud,而无需他们自己的同意批准。
批准后,同意方式按客户端进行管理。有关更多信息,请参阅创建和管理 OAuth 客户端。
-
身份验证方法
配置 DCR 设置时,您可以指定允许动态注册的客户端使用哪些身份验证方法。可以使用以下身份验证方法:
-
客户端机密:允许使用客户端机密进行身份验证的机密客户端。客户端在注册时会收到一个客户端密钥。这包括 client_secret_basic 和 client_secret_post 两种身份验证方法。
-
无:允许不使用客户端密钥的公共客户端。这些客户端使用带有 PKCE (Proof Key for Code Exchange) 的授权码流程进行身份验证。
默认情况下,动态注册的客户端使用 client_secret_basic 身份验证方法,除非在注册时另有指定。
管理 DCR 客户端
管理供应商的多个注册
许多 OAuth 客户端应用程序会向 Qlik Cloud 动态注册单个 OAuth 客户端。该应用程序的用户共享同一个 OAuth 客户端。
某些 OAuth 客户端应用程序会动态注册多个 OAuth 客户端,每个用户一个。已在以下环境中观察到此行为:
-
Anthropic Claude
-
反重力
如果您看到来自同一供应商的多个 DCR 客户端,请检查该 OAuth 客户端应用程序如何注册客户端,以及是否有共享连接器选项可用。
对于 Anthropic Claude,Qlik 正在探索适用于 Anthropic 目录的专用 Qlik Cloud MCP 连接器。如果被 Anthropic 接受,该连接器有助于解决重复注册问题。在其可用之前,如果您担心多次 DCR 注册,请关注 连接到 Claude 中的静态 Claude OAuth 配置。
批量删除 OAuth 客户端
如果您的租户拥有许多 OAuth 客户端,请执行以下操作:
-
在 OAuth 客户端列表中使用筛选功能,按供应商或命名模式查找客户端。
-
选择匹配的客户端。
-
批量删除所选客户端。
识别动态注册的客户端
可通过以下方式将动态注册的客户端与手动创建的客户端区分开来:
-
在 Administration 中,OAuth 客户端列表会显示来源列。DCR 客户端的来源值为 DCR,手动创建的客户端的来源值为 User。
-
API 响应包含一个 createdByType 字段,对于动态注册的客户端设置为 dcr,对于手动创建的客户端设置为 user。
MCP 访问示例
DCR 的一个用例是为 Qlik MCP 服务器集成接入 OAuth 客户端。DCR 不仅限于 MCP,还可以供其他兼容的 OAuth 客户端应用程序使用。对于基于 MCP 的连接,租户管理员通常会创建第一个连接并在其他用户连接之前批准客户端。
有关 MCP 管理和连接指导,请参阅: