#### 自訂 SAMLv2 服務提供者

SAMLv2 服務提供者包含下列屬性群組：

- 指定內容

- 指定處理

- 服務

- 進階

##### 指定內容

- 請求/回應簽名

- 加密

- 憑證別名

- 名稱 ID 格式

- 認證環境

- 指定時間偏差

- 基本認證

##### 請求/回應簽名

選取任何核取方塊以啟用對下列 SAMLv2 服務提供者請求或回應的簽署：

認證請求已簽名 | 此服務提供者收到的所有認證請求都必須簽名。
指定已簽名 | 此服務提供者收到的所有指定都必須簽名。
POST 回應已簽名 | 身份識別提供者必須簽署 `PostResponse` 元素。
Artifact 回應 | 身份識別提供者必須簽署 `ArtifactResponse` 元素。
登出請求 | 身份識別提供者必須簽署 `LogoutRequest` 元素。
登出回應 | 身份識別提供者必須簽署 `LogoutResponse` 元素。
管理名稱 ID 請求 | 身份識別提供者必須簽署 `ManageNameIDRequst` 元素。
管理名稱 ID 回應 | 身份識別提供者必須簽署 `ManageNameIDResponse` 元素。

##### 加密

選取任何核取方塊以啟用對下列元素的加密：

屬性 | 身份識別提供者必須加密所有 `AttributeStatement` 元素。
指定 | 身份識別提供者必須加密所有 `Assertion` 元素。
名稱 ID | 身份識別提供者必須加密所有 `NameID` 元素。

##### 憑證別名

此屬性會定義服務提供者的憑證別名元素。`簽署`會指定用來尋找金鑰庫中正確的簽署憑證的提供者憑證別名。`加密`會指定用來尋找金鑰庫中正確的加密憑證的提供者憑證別名。

##### 名稱 ID 格式

定義服務提供者支援的名稱識別碼格式。提供者可透過名稱識別碼就使用者進行通訊。單次登入互動支援下列類型的識別碼：

- `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`

- `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`

- `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`

- `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`

永久識別碼會做為兩個屬性的值儲存到特定使用者的資料存放區項目中。暫態識別碼是臨時的，不會有任何資料寫入使用者的永久資料存放區。

##### 認證環境

此屬性會將 SAMLv2 定義的認證環境類別對映至服務提供者提供的認證方法。

對映程式

  指定 `SPAuthnContextMapper` 介面的實作，用來建立請求的認證環境。預設實作為 `com.sun.identity.saml2.plugins.``DefaultSPAuthnContexteMapper`。

支援的

  如果身份識別提供者支援認證環境類別，請選取它旁邊的核取方塊。

環境參照

  SAMLv2 定義的認證環境類別包括：

  - InternetProtocol

  - InternetProtocolPassword

  - Kerberos

  - MobileOneFactorUnregistered

  - MobileTwoFactorUnregistered

  - MobileOneFactorContract

  - MobileTwoFactorContract

  - Password

  - Password-ProtectedTransport

  - Previous-Session

  - X509

  - PGP

  - SPKI

  - XMLDSig

  - Smartcard

  - Smartcard-PKI

  - Software-PKI

  - Telephony

  - NomadTelephony

  - PersonalTelephony

  - AuthenticaionTelephony

  - SecureRemotePassword

  - TLSClient

  - Time-Sync-Token

  - Unspecified

層級

  對映到 OpenSSO 認證架構中定義的認證層級的正數值。認證層級表示對認證方法的信任程度。

  在此框架中，每個服務提供者都會配置預設的認證環境 (喜好的認證方法)。不過，提供者可能想將指定的認證環境變更為以定義的認證層級為基礎的環境。例如，提供者 B 想產生認證層級為 3 的本機階段作業，因此請求身份識別提供者使用指定為該層級的認證環境來認證使用者。此查詢參數的值決定身份識別提供者使用的認證環境。

比較類型

  指定與此特性值比較時必須的結果認證環境。接受的值包括：

  - 精確：指定中的認證環境敘述必須至少與其中一個指定的認證環境完全相符。

  - 最小值：指定中的認證環境敘述必須至少與其中一個指定的認證環境一樣強 (按照身份識別提供者的認定)。

  - 最大值：指定中的認證環境敘述必須不得比任何一個指定的認證環境強。

  - 較好：指定中的認證環境敘述必須比任何一個指定的認證環境強。

  預設值為精確。

##### 指定時間偏差

指定在一段時間內有效，在這之前或之後都無效。此屬性指定 `notBefore` 值的寬限期 (以秒為單位)。預設值為 `300`。這個值與 `notAfter` 值不相關。

##### 基本認證

啟用基本認證可保護 SOAP 端點。任何存取這些端點的提供者都必須擁有下列兩項特性中定義的使用者和密碼：`使用者名稱`和`密碼`。

##### 指定處理

- 屬性對映程式

- 自動聯合

- 帳號對映程式

- 暫態使用者

- URL

- 預設轉送狀態

- 介面

##### 屬性對映程式

指定值，以定義預設屬性對映程式外掛程式所使用的對映。預設的外掛程式類別為 `com.sun.identity.saml2.plugins.DefaultSPAttributeMapper`。

對映應以下列格式配置：

SAML-attribute=local-attribute

例如 `EmailAddress=mail` 或 `Address=postaladdress`。鍵入對映做為 [新的值]，然後按一下 [增加]。

##### 自動聯合

如果啟用，自動聯合會根據共用屬性自動聯合使用者的不同提供者帳號。[屬性] 欄位會指定在自動聯合啟用時，用來比對使用者不同提供者帳號的屬性。

##### 帳號對映程式

指定 `AccountMapper` 介面的實作，用來將遠端使用者帳號對映至本機使用者帳號，以便進行單次登入。預設值為 `com.sun.identity.saml2.plugins.``DefaultSPAccountMapper`，即預設實作。

##### Artifact 訊息編碼

此屬性會定義 artifact 的訊息編碼格式，可以是 `URI` 或 `FORM`。

##### 暫態使用者

此屬性指定使用者的識別碼，在使用暫態名稱識別碼進行單次登入時，服務提供者端上所有身份識別提供者使用者都會對映到該識別碼。

##### URL

[本機認證 URL] 指定本機登入頁面的 URL。

[中間 URL] 指定可在認證之後以及原始請求的 URL 之前，可將使用者導向至的 URL。例如，自動建立使用者帳號之後的建立帳號成功頁面。

[外部應用程式登出 URL] 會定義外部應用程式的登出 URL。一旦伺服器收到來自遠端合作夥伴的登出請求後，就會使用回返通道 `HTTP POST` 傳送請求至含有所有 cookie 的登出 URL。或者，如果 URL 中包含查詢參數 `appsessionproperty` (設定為階段作業特性名稱)，也可以將使用者階段作業特性作為 `HTTP 標頭`與 `POST` 參數傳送。

##### 預設轉送狀態

在成功的 SAML v2 作業 (單次登入、單一登出或聯合終止) 之後，會顯示一個頁面。此頁面通常為原始請求的資源，是在初始請求中使用 `RelayState` 元素指定。如果未指定 `RelayState`，則會顯示此 `defaultRelayState` 特性的值。

注意 – 當 `RelayState` 或 `defaultRelayState` 包含特殊字元 (例如 `&`) 時，必須以 URL 編碼。例如，如果 `RelayState` 的值為 `http://www.sun.com/apps/myapp.jsp?param1=abc&param2=xyz`，則必須以 URL 編碼為：

`http%3A%2F%2Fwww.sun.com%2Fapps%2Fmyapp.jsp%3Fparam1%3Dabc%26param2%3Dxyz`

然後附加至 URL。例如，服務提供者啟動的單次登入 URL 可能為：

`http://`host`:`port`/` deploy-uri`/saml2/jsp/spSSOInit.jsp?metaAlias=/sp&idpEntityID=http://www.idp.com&RelayState=http%3A%2F%2Fwww.sun.com%2Fapps%2Fmyapp.jsp%3Fparam1%3Dabc%26param2%3Dxyz`

##### 介面

定義 `com.sun.identity.federation.plugins.FederationSPAdapter`介面的實作類別，用來在聯合處理期間增加應用程式專屬的處理。

##### 服務

- 中介別名

- 單一登出服務

- 管理名稱 ID 服務

- 指定 Artifact 用戶服務

##### 中介別名

為配置的提供者指定 `metaAlias`。`metaAlias` 可用來尋找提供者的實體識別碼及其所在的組織。值為字串，等於範圍或組織名稱 (視 OpenSSO 中是否安裝 聯合服務的 SAML v2 外掛程式而定) 加上正斜線和提供者名稱。例如`/suncorp/travelprovider`。

注意 – `metaAlias` 中使用的名稱不得包含 `/`。

##### 單一登出服務

單一登出服務會同步處理所有由服務提供者所認證的階段作業之登出功能。

`位置`會指定將請求傳送到的提供者的 URL。`回應位置`會指定預期回應提供者的 URL。連結類型包括：

- HTTP 重新導向

- POST

- SOAP

##### 管理名稱 ID 服務

此服務定義特定 URL，當與服務提供者進行通訊以指定主體的新名稱識別碼時，使用這些 URL。(註冊只能在聯合階段作業建立之後進行。)

`位置`會指定將請求傳送到的提供者的 URL。`回應位置`會指定預期回應提供者的 URL。連結類型包括：

- HTTP 重新導向

- POST

- SOAP

##### 指定 Artifact 用戶服務

此服務會處理服務提供者從身份識別提供者接收的回應。當服務提供者需要認證使用者時，就會傳送認證請求給身份識別提供者。

- HTTP-Artifact 會指定基於 SOAP 的非瀏覽器協定。

- HTTP-Post 會指定基於瀏覽器的 HTTP POST 協定。

- PAOS 會定義 PAOS 連結的 URL 位置。

`位置`會指定將請求傳送到的提供者的 URL。`索引`會指定標準中介資料中的 URL。`預設`是用於連結的預設 URL。

##### 進階

- SP URL

- SP 登出 URL

- 應用程式密碼清單

- 請求 IDP 清單尋找器實作

- 請求 IDP 清單取得完成

- 請求 IDP 清單

- IDP 代理伺服器

- 簡介

- 代理伺服器計數

- IDP 代理伺服器清單

##### SP URL

定義可處理 SAE (Secure Attribute Exchange, 安全屬性交換) 請求的服務提供者的 URL 端點。如果此 URL 是為空 (未配置)，則不會啟用 SAE 單次登入。一般 SAMLv2 單次登入回應將會傳送到服務提供者。

##### SP 登出 URL

定義可處理 SAE 全域登出請求的服務提供者的 URL 端點。

##### 應用程式密碼清單

此屬性會定義應用程式安全性配置。每個應用程式都必須有一個項目。每個項目的格式如下：

`url=SPAppURL|type=`symmetric_orAsymmetric`|secret=` ampassword encoded shared secret``

##### 請求 IDP 清單尋找器實作

定義 IDP 清單尋找器 SPI 的實作類別。這會傳回 ECP 所信任的喜好身份識別提供者清單。

##### 請求 IDP 清單取得完成

如果 `IDPList` 元素不完整，指定可用來擷取完整的身份識別提供者清單的 URI 參照。

##### 請求 IDP 清單

定義供 ECP 連絡的身份識別提供者清單。此清單為 IDP 尋找器 (例如 `com.sun.identity.saml2.plugins.ECPIDPFinder`) 的預設實作所使用。

##### IDP 代理伺服器

代理伺服器認證配置屬性定義動態識別提供者代理作業的值。選取此核取方塊，以啟用服務提供者的代理伺服器認證。

##### 簡介

若要使用簡介來尋找代理身份識別提供者，請選取核取方塊。

##### 代理伺服器計數

輸入可用於代理伺服器認證的身份識別提供者的最大數目。

##### IDP 代理伺服器清單

增加可以用於代理伺服器認證的身份識別提供者清單。在 [新的值] 中鍵入定義為提供者的識別碼的 URI，然後按一下 [增加]。