配置 OAuth 动态客户端注册
OAuth 动态客户端注册 (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 (代码交换验证密钥) 的授权码流进行身份验证。
默认情况下,动态注册的客户端使用 client_secret_basic 身份验证方法,除非在注册期间另有说明。
管理 DCR 客户端
管理来自供应商的多个注册
许多 OAuth 客户端应用程序在 Qlik Cloud 动态注册一个 OAuth 客户端。应用程序的用户共享同一个 OAuth 客户端。
一些 OAuth 客户端应用程序会动态注册多个 OAuth 客户端,每个用户一个。此行为已在以下情况下观察到:
-
Anthropic Claude
-
反重力
如果您看到来自同一供应商的许多 DCR 客户端,请检查该 OAuth 客户端应用程序如何注册客户端以及是否有共享连接器选项可用。
对于 Anthropic Claude,Qlik 正在探索一个专用的 Qlik Cloud MCP 连接器,用于 Anthropic 目录。如果 Anthropic 接受,该连接器可以帮助解决多重注册问题。在此功能可用之前,如果您担心多个 DCR 注册,请关注 连接到 Claude 中的静态 Claude OAuth 配置。
批量删除 OAuth 客户端
如果您的租户拥有许多 OAuth 客户端,请执行以下操作:
-
在 OAuth 客户端列表中使用筛选,以按供应商或命名模式查找客户端。
-
选择匹配的客户端。
-
批量删除选定的客户端。
识别动态注册的客户端
动态注册的客户端可以通过以下方式与手动创建的客户端区分开来:
-
在 Administration 中,OAuth 客户端列表显示一个 来源 列。DCR 客户端的来源值为 DCR,手动创建的客户端的来源值为 User。
-
API 响应包含一个 createdByType 字段,该字段对于动态注册的客户端设置为 dcr,对于手动创建的客户端设置为 user。
MCP 访问示例
DCR 的一个用例是注册 OAuth 客户端,用于 Qlik MCP 服务器集成。DCR 不限于 MCP,也可供其他兼容的 OAuth 客户端应用程序使用。对于基于 MCP 的连接,租户管理员通常会创建第一个连接并批准客户端,然后其他用户才能连接。
有关 MCP 管理和连接指南,请参阅: