将 Salesforce.com OAuth 更改为已保存凭据
默认情况下,对于由数据提供程序为 Tableau Server 生成并由同一站点中的所有用户共享的 OAuth 令牌,Salesforce.com 连接器使用托管密钥链。您可以使用保存的客户端 ID 和客户端密文配置 Tableau Server。在以下三种情况下,您可能需要执行此操作:
- Salesforce 连接器 — 如果您正在使用 Salesforce 连接器,您可以使用 OAuth 客户端 ID 和密文配置 Tableau Server,以便连接器可以使用已保存的凭据。
- 写入 CRM Analytics — 如果您正在将 Tableau Prep 流程数据写入 Salesforce CRM Analytics(版本 2022.3 及更高版本),请使用 Oauth 客户端 ID 和密码配置 Tableau Server,以便流程可以使用保存的凭据在 Tableau Server 中运行。
- Einstein Discovery — 如果您要将 Einstein Discovery 扩展程序与 Tableau Server 集成,则需要执行此 Oauth 客户端 ID 和密文配置。在版本 2021.1.0 中添加了集成 Einstein Discovery 和 Tableau Server 的功能。有关详细信息,请参见配置 Einstein Discovery 集成。
本主题介绍如何针对 Oauth 已保存凭据设置 Salesforce.com 数据源和 Einstein Discovery 扩展程序。为每个 Tableau Server 实例完成这些步骤。
有关托管密钥链和已保存凭据的详细信息,请参见OAuth 连接。
注意:
- Salesforce 连接器需要托管密钥链(默认值)、服务器范围的 OAuth 或特定于站点的 OAuth。
- 若要为站点使用保存的凭据,必须首先配置服务器范围的 OAuth。
- 无论是否配置了站点范围的 OAuth,都可以使用服务器范围的 OAuth。
- 如果使用特定于站点的 OAuth,则必须单独配置每个站点。
- 若要支持实时连接提示、编辑连接和 Web 制作,请将托管密钥链转换为保存的凭据以避免错误。
步骤总结
通过执行以下常规步骤来设置 OAuth:
- 在 Salesforce 中创建连接的应用。
- 使用您在步骤 1 中获得的信息来配置 Tableau Server。
- (可选)配置特定于站点的 OAuth。
步骤 1:创建 Salesforce 已连接应用程序
注意:此程序记录了 Salesforce Lightning 中的过程。如果您使用的是传统界面,导航可能会有所不同,但配置是相同的。
登录您的 Salesforce.com 开发人员帐户,单击右上方您的用户名,然后选择“设置”。
在左侧导航列中的“Apps”(应用)下,选择“App Manager”(应用管理器)。
在“Connected Apps”(已连接应用)部分,单击“New Connected App”(新建已连接应用)。
在“Basic Information”(基本信息)中,为应用指定一个名称,按 Tab 键浏览 api 字段便其以正确的格式自行填充,并为应用输入联系人电子邮件。
在“API [Enable Oauth Settings]”(API [启用 Oauth 设置])部分,选择“Enable OAuth Settings”(启用 Oauth 设置)。
在出现的新 OAuth 设置中,对于“回调 URL”,键入您的服务器的完全限定域名(使用
https
协议),并将以下文本追加到 URL:auth/add_oauth_token
。例如:
https://www.your_tableau_server.com/auth/add_oauth_token
将下列项目从“Available OAuth Scopes”(可用 OAuth 范围)移到“Selected OAuth Scopes”(所选 OAuth 范围):
- 访问身份 URL 服务(ID、个人资料、电子邮件、地址、电话)
- 通过 API (api) 管理用户数据
- 随时执行请求(refresh_token、离线访问)
单击“保存”。
在保存应用后,Salesforce 会在 API 部分中填充以下将用于配置 Tableau Server 的 ID:
- 使用者密钥
- 使用者密码
- 回调 URL
步骤 2:针对 Salesforce.com OAuth 配置 Tableau Server
在 Salesforce 中创建已连接应用并拥有客户密钥、客户密文和回调 URL 后,您可以为 Salesforce 数据连接和输出以及 Einstein Discovery 配置 Tableau Server。
在 Tableau Server 计算机上的命令提示符处,运行以下命令:
tsm configuration set -k oauth.salesforce.client_id -v <your_customer_key>
tsm configuration set -k oauth.salesforce.client_secret -v <your_customer_secret>
tsm configuration set -k oauth.salesforce.redirect_uri -v <your_redirect_URL>
(可选)要更改默认登录服务器,请键入以下命令:
tsm configuration set -k oauth.salesforce.server_base_url -v <URL>
输入以下命令以应用更改:
tsm pending-changes apply
如果待定更改需要重新启动服务器,
pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用--ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见tsm pending-changes apply。
为站点配置自定义 OAuth
您可以为站点配置自定义 Salesforce OAuth 客户端。
考虑将自定义 OAuth 客户端配置为 1) 覆盖 OAuth 客户端(如果为服务器配置)或 2) 支持安全连接到需要唯一 OAuth 客户端的数据。
配置自定义 OAuth 客户端时,站点级别配置优先于任何服务器端配置,并且默认情况下创建的所有新 OAuth 凭据都使用站点级别 OAuth 客户端。无需重新启动 Tableau Server 即可使配置生效。
重要信息:在配置自定义 OAuth 客户端之前建立的现有 OAuth 凭据暂时可用,但服务器管理员和用户都必须更新他们保存的凭据以帮助确保不间断的数据访问。
1:准备 OAuth 客户端 ID、客户端密文和重定向 URL
在配置自定义 OAuth 客户端之前,您需要下列信息。准备好这些信息后,您可以为站点注册自定义 OAuth 客户端。
OAuth 客户端 ID 和客户端密码:首先向数据提供程序(连接器)注册 OAuth 客户端,以检索为 Tableau Server 生成的客户端 ID 和密码。
重定向 URL:注意正确的重定向 URL。在下面步骤 2 的注册过程中,您将需要此 URL。
Https://<您的服务器名称>.com/auth/add_oauth_token
例如,https://example.com/auth/add_oauth_token
2:注册 OAuth 客户端 ID 和客户端密文
按照下面描述的过程将自定义 OAuth 客户端注册到站点。
使用管理员凭据登录到 Tableau Server 站点,并导航到“设置”页面。
在“OAuth 客户端注册”下,单击“添加 OAuth 客户端”按钮。
输入所需信息,包括上述步骤 1 中的信息:
对于“连接类型”,选择要配置其自定义 OAuth 客户端的连接器。
如果注册多个 OAuth 客户端,则“OAuth 实例 URL”为必填。否则,它是可选的。
对于“客户端 ID”、“客户端密码”和“重定向 URL”,输入您在上面的步骤 1 中准备的信息。
单击“添加 OAuth 客户端”按钮以完成注册过程。
(可选)对所有支持的连接器重复步骤 3。
- 单击“设置”页面底部或顶部的“保存”按钮以保存更改。
3:验证和更新保存的凭据
为帮助确保不间断的数据访问,您(和您的站点用户)必须删除之前保存的凭据并再次添加,以便为站点使用自定义 OAuth 客户端。
导航到“我的帐户设置”页面。
在“保存的数据源凭据”下,执行以下操作:
单击您在上述步骤 2 中配置的自定义 OAuth 客户端的连接器的现有已保存凭据旁边的“删除”。
在连接器名称旁边,单击“添加”并按照提示进行操作以 1) 连接到在上述步骤 2 中配置的自定义 OAuth 客户端,以及 2) 保存最新的凭据。
4:通知用户更新他们保存的凭据
确保通知您的站点用户更新他们为连接器保存的凭据,该连接器的自定义 OAuth 客户端是您在上面的步骤 2 中配置的。站点用户可以使用更新保存的凭据描述的过程来更新他们保存的凭据。
管理访问令牌
针对 OAuth 配置服务器之后,您可以允许用户在其配置文件设置中管理其自己的访问令牌,或者您可以集中管理这些令牌。有关详细信息,请参见允许已保存访问令牌。