---
schema_version: "1"
id: ccb0f3aa6cfe9c3fbc6a7366de41fbb8e1db94b0e8ae88fcade7f6d0d0855ed1
title: OpenID Connect
collection: tableau
version: current
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/current/zh-tw/server/openid_auth.md
canonical_url: https://help.tableau.com/current/server/zh-tw/openid_auth.htm
source_site: help.tableau.com
content_type: documentation
content_hash: c2030bbb55fadf762b50235c3bbccad08b69d396bd949f1042d49fc23c6d0e80
description: Understand how Tableau Cloud supports OpenID Connect (OIDC) for single sign-on (SSO).
---
[跳至主要內容](#main-content)

# OpenID Connect

可以設定 Tableau Server，以支援 OpenID Connect (OIDC) 實作單一登入 (SSO)。OIDC 是一種標準驗證通訊協定，它使使用者能夠登入到諸如 Google 等身分識別提供者 (IdP) 或 Salesforce。成功登入其 IdP 後，他們將自動登入 Tableau Server。

設定 OIDC 的過程包含若干步驟。本節中的主題會提供有關將 Tableau Server 與 OIDC 結合使用的一般資訊，並提供設定 IdP 和 Tableau Server 的順序。

**附註：** 除非另有說明，否則有關 OIDC 驗證的資訊適用於在 Tableau Server 設定期間在 TSM 中設定的 OIDC 驗證或使用 [身份集區](https://help.tableau.com/current/server/zh-tw/identity_pools.htm)。

## 驗證概述

本節會介紹 OpenID Connect (OIDC) 在 Tableau Server 的驗證流程。

![說明 Tableau Server、用戶端和 OpenID Connect 之間互動的圖表。](/tableau/current/zh-tw/server/zh-tw/Img/openid_auth_overview.png)

1.使用者嘗試從用戶端電腦登入 Tableau Server。

2.Tableau Server 驗證請求重新導向 IdP 閘道。

3.提示使用者輸入認證，並成功向 IdP 進行驗證。IdP 會以重新導向回 Tableau Server 的 URL 回應。重新導向 URL 中包括使用者的授權代碼。

4.用戶端被重新導向到 Tableau Server，並顯示授權碼。

5\. Tableau Server 會將用戶端的授權碼及其自己的用戶端認證提供給 IdP。 也是 IdP 的用戶端。此步驟旨在防止假冒或中間人攻擊。

6.IdP 會向 Tableau Server 傳回存取權杖和 ID 權杖。

- JSON Web 權杖 (JWT) 驗證：預設情況下，Tableau 會執行對 IdP JWT 的驗證。在探索期間，Tableau 會擷取 IdP 設定探索文件中 `jwks_uri` 指定的公開金鑰。Tableau 會驗證 ID 權杖是否到期，然後驗證 JSON Web 簽章 (JWS)、簽發者 (IdP) 和用戶端 ID。您可以在 OpenID 文件 [10](http://openid.net/specs/openid-connect-core-1_0.html#SigEnc) 中了解更多有關 JWT 過程的資訊。[簽名和加密](http://openid.net/specs/openid-connect-core-1_0.html#SigEnc)以及 IETF 建議標準 [JSON Web 權杖](https://tools.ietf.org/html/rfc7519)。我們建議一直啟用 JWT 驗證，除非 Idp 不支援。
- ID 權杖是使用者的一組屬性金鑰對。該金鑰對稱為_聲明_。下面是使用者的一個範例 IdP 聲明：
    
    "sub"                     : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5"
    "email"                   : "alice@example.com",
    "email\_verified"          : true,
    "name"                    : "Alice Adams",
    "given\_name"              : "Alice",
    "family\_name"             : "Adams",
    "phone\_number"            : "+359 (99) 100200305",
    "profile"                 : "https://tableau.com/users/alice"

7\. Tableau Server 會根據 IdP 宣告識別使用者，並完成步驟 1 中的驗證請求。 Tableau Server 會藉由比對「sub」（主體識別碼）來搜尋儲存在存放庫中的使用者帳戶記錄，以識別正確的使用者帳戶。如果子宣告值未儲存任何使用者帳戶，則 Tableau Server 會在存放庫中搜尋符合 IdP 提供之「email」（電子郵件）宣告的使用者名稱。使用者名稱匹配成功後， Tableau Server 會將對應的子聲明儲存到儲存庫中的使用者記錄中。可將 Tableau Server 設定為此過程使用不同的聲明。查看 [使用 OpenID Connect 的要求](https://help.tableau.com/current/server/zh-tw/openid_auth_requirements.htm)。

8\. Tableau Server 會對使用者進行授權。

## Tableau 如何使用 OpenID Connect

OpenID Connect (OIDC) 是一種靈活的通訊協定，支援服務提供者（此處為 Tableau Server）和 IdP 之間交換資訊的多種選項。以下清單提供有關 Tableau Server 實作 OIDC 的詳細資訊。這些詳細資訊可以幫助您瞭解 Tableau Server 傳送和期望哪些類型的資訊，以及如何設定 IdP。

- Tableau Server 僅支援 OpenID 授權碼流程，如 OpenID Connect 文件中的 [OpenID Connect 最終規格](http://openid.net/specs/openid-connect-core-1_0.html)中所述。
- Tableau Server 依賴使用探索或提供者 URL 來擷取 OpenID 提供者中繼資料。或者，您可以在 Tableau Server 上託管靜態探索文件。有關詳情，請參閱[為 OpenID Connect 設定 Tableau Server](https://help.tableau.com/current/server/zh-tw/openid_auth_server_config.htm)。
- Tableau Server 支援 `client_secret_basic`和 `client_secret_post` 用戶端驗證.
- 在 `id_token` 屬性的 JOSE 標頭中，Tableau Server 需要 `kid` 值。此值與 JWK 集文件中發現的關鍵字之一相符，此文件的 URI 由 OpenID 發現文件中的 `jwks_uri` 值指定。即使 JWK 集文件中只有一個關鍵字，也必須存在 `kid` 值。
- Tableau Server確實包括 OpenID 支援，支援 JWK `x5c` 參數或支援使用 X.509 證書。
- 預設情況下，Tableau Server 會忽略 Proxy 設定並將所有 OpenID 請求直接傳送到 IdP。
    
    如果將 Tableau Server 設定為使用正向 Proxy 連線到網際網路，則必須按照[為 OpenID Connect 設定 Tableau Server](https://help.tableau.com/current/server/zh-tw/openid_auth_server_config.htm) 中所述進行其他變更。

## OIDC 宣告中的使用者屬性

從 Tableau Server 2026.2 開始，若已設定並啟用該功能設定，可以在登入期間將身分提供程式 (IdP) 傳送的 JSON Web 權杖 (JWT) 中的使用者屬性宣告傳遞給Tableau Cloud。這些使用者屬性可與 Tableau 的使用者屬性函數 `(USERATTRIBUTE()` `USERATTRIBUTEINCLUDES()`， ） 一起使用，以動態控制和自訂內容。Tableau 會驗證宣告，然後啟用對內容的存取。

詳情請參閱[使用使用者屬性自訂和控制資料存取](https://help.tableau.com/current/server/zh-tw/openid_auth_server_config.htm#user_attributes)。

**範例 JWT**

"sub"                     : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5"
"email"                   : "alice@example.com",
"email\_verified"          : true,
"name"                    : "Alice Adams",
"given\_name"              : "Alice",
"family\_name"             : "Adams",
"phone\_number"            : "+359 (99) 100200305",
"profile"                 : "https://tableau.com/users/alice",		
"region"			 	  : \["South", "South West"\] 

## 此區段的其他文章