OpenID Connect Client
這項特性可讓 Web 應用程式整合 OpenID Connect Client 1.0,以替代或搭配所配置的使用者登錄,進行使用者鑑別。
啟用這項特性
如果要啟用「OpenID Connect 用戶端」特性,請在 server.xml 檔的 featureManager 元素內,新增下列的元素宣告:
<feature>openidConnectClient-1.0</feature>
支援的 Java™ 版本
- JavaSE-1.6
- JavaSE-1.7
- JavaSE-1.8
開發相依於這項特性的特性
如果您要開發的特性相依於「OpenID Connect 用戶端」特性,請將下列項目包含在您新特性的特性資訊清單檔 Subsystem-Content 標頭中:
com.ibm.websphere.appserver.openidConnectClient-1.0; type="osgi.subsystem.feature"
這項特性啟用的特性
特性配置元素
您可以在 server.xml 檔中使用下列元素,來配置「OpenID Connect 用戶端」特性:
- administrator-role
- authCache
- authFilter
- authentication
- authorization-roles
- basicRegistry
- classloading
- jaasLoginContextEntry
- jaasLoginModule
- library
- ltpa
- openidConnectClient
- quickStartSecurity
- trustAssociation
- administrator-role
- 獲指派伺服器管理者角色的使用者及/或群組集合。
- authCache
- 控制鑑別快取作業。
屬性名稱 資料類型 預設值 說明 allowBasicAuthLookup boolean true 容許依使用者 ID 和雜湊式密碼查閱。 initialSize int 下限:1
50 鑑別快取所支援的項目起始數目。 maxSize int 下限:1
25000 鑑別快取所支援的項目數目上限。 timeout 精準度是毫秒的時間量 600s 在移除快取中的項目之前的時間量。. 指定正整數加上時間單位,時間單位可以是小時 (h)、分鐘 (m)、秒 (s) 或毫秒 (ms)。例如,指定 500 毫秒為 500ms。您可以在單一項目中包括多個值。例如,1s500ms 相等於 1.5 秒。 - authFilter
- 指定選取規則,以代表要與 HTTP 要求標頭比對的條件,來判斷是否選取該 HTTP 要求來進行鑑別。
屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 - authFilter > host
說明: 唯一的配置 ID。必要: false資料類型: 屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 matchType - equals
- contains
- notContain
contains 指定相符類型。 - equals
- 等於
- contains
- 包含
- notContain
- 不包含
name string 指定名稱。
- authFilter > remoteAddress
說明: 唯一的配置 ID。必要: false資料類型: 屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 ip string 指定 IP 位址。 matchType - lessThan
- equals
- greaterThan
- contains
- notContain
contains 指定相符類型。 - lessThan
- 小於
- equals
- 等於
- greaterThan
- 大於
- contains
- 包含
- notContain
- 不包含
- authFilter > requestUrl
說明: 唯一的配置 ID。必要: false資料類型: 屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 matchType - equals
- contains
- notContain
contains 指定相符類型。 - equals
- 等於
- contains
- 包含
- notContain
- 不包含
urlPattern string 指定 URL 型樣。
- authentication
- 控制內建鑑別服務配置。
屬性名稱 資料類型 預設值 說明 allowHashtableLoginWithIdOnly boolean false 容許在雜湊表內容中僅具有一個身分的應用程式登入。請僅在您有需要此項的應用程式,而且有其他方法可驗證身分時,才使用這個選項。 cacheEnabled boolean true 啟用鑑別快取。 - authorization-roles
- %authorizationRoles.desc
屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 - authorization-roles > security-role
說明: 唯一的配置 ID。必要: false資料類型: 屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 name string %roleName.desc - authorization-roles > security-role > group
說明: 唯一的配置 ID。必要: false資料類型: 屬性名稱 資料類型 預設值 說明 access-id string %groupAccessId.desc id string 唯一的配置 ID。 name string %groupName.desc
- basicRegistry
- 簡式 XML 型使用者登錄。
屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 ignoreCaseForAuthentication boolean false 容許不區分大小寫的使用者名稱鑑別。 realm string BasicRegistry 網域範圍名稱代表使用者登錄。 - classloading
- 廣域類別載入
屬性名稱 資料類型 預設值 說明 useJarUrls boolean false 要使用 jar: 或 wsjar: URL 來參照保存檔中的檔案 - jaasLoginContextEntry
- JAAS 登入環境定義項目配置。
屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 loginModuleRef 最上層 jaasLoginModule 元素的參照清單(逗點區隔的字串)。 hashtable,userNameAndPassword,certificate,token JAAS 登入模組 ID 的參照。 name string JAAS 配置項目的名稱。 - jaasLoginModule
- JAAS 配置中的登入模組。
屬性名稱 資料類型 預設值 說明 className string JAAS 登入模組類別的完整套件名稱。 controlFlag - SUFFICIENT
- REQUISITE
- REQUIRED
- OPTIONAL
REQUIRED 登入模組的控制旗標。有效值為 REQUIRED、REQUISITE、SUFFICIENT 和 OPTIONAL。 - SUFFICIENT
- 根據 JAAS 規格,這個 LoginModule 是「足夠的」。不需要有 LoginModule 就能成功。如果鑑別成功,則不會呼叫其他 LoginModule,同時控制權會回到呼叫端。
- REQUISITE
- 根據 JAAS 規格,這個 LoginModule 是 REQUISITE。必須要有 LoginModule 才能成功。如果鑑別失敗,則不會呼叫其他 LoginModule,同時控制權會回到呼叫端。
- REQUIRED
- 根據 JAAS 規格,這個 LoginModule 是「必要的」。必須要有 LoginModule 才能成功。
- OPTIONAL
- 根據 JAAS 規格,這個 LoginModule 是「選用的」。不需要有 LoginModule 就能成功。
id string 唯一的配置 ID。 libraryRef 最上層 library 元素的參照(字串)。 共用程式庫配置 ID 的參照。 - jaasLoginModule > library
說明: 共用程式庫配置 ID 的參照。必要: false資料類型: 屬性名稱 資料類型 預設值 說明 apiTypeVisibility string spec,ibm-api,api 這個程式庫的類別載入器將能夠看到的 API 套件類型,方式為下列項目之任何組合的逗點區隔清單:spec、ibm-api、api、third-party。 description string 管理者的共用程式庫說明 filesetRef 最上層 fileset 元素的參照清單(逗點區隔的字串)。 參照的檔案集 ID name string 管理者的共用程式庫名稱 - jaasLoginModule > library > file
說明: 參照的檔案 ID必要: false資料類型: 屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 name 檔案的路徑 完整檔名
- jaasLoginModule > library > fileset
說明: 參照的檔案集 ID必要: false資料類型: 屬性名稱 資料類型 預設值 說明 caseSensitive boolean true 指出搜尋是否應該區分大小寫的布林值(預設值:true)。 dir 目錄的路徑 ${server.config.dir} 搜尋檔案的基本目錄。 excludes string 要從搜尋結果中且以逗點或空格區隔的檔名型樣清單,預設為不排除任何檔案。 id string 唯一的配置 ID。 includes string * 要併入搜尋結果中且以逗點或空格區隔的檔名型樣清單(預設值:*)。 scanInterval 精準度是毫秒的時間量 0 用以檢查檔案集之變更的掃描間隔,以時間單位字尾 h-小時、m-分鐘、s-秒、ms-毫秒的長整數來表示(例如 2ms 或 5s)。預設為已停用 (scanInterval=0)。. 指定正整數加上時間單位,時間單位可以是小時 (h)、分鐘 (m)、秒 (s) 或毫秒 (ms)。例如,指定 500 毫秒為 500ms。您可以在單一項目中包括多個值。例如,1s500ms 相等於 1.5 秒。
- library
- 共用程式庫
屬性名稱 資料類型 預設值 說明 apiTypeVisibility string spec,ibm-api,api 這個程式庫的類別載入器將能夠看到的 API 套件類型,方式為下列項目之任何組合的逗點區隔清單:spec、ibm-api、api、third-party。 description string 管理者的共用程式庫說明 filesetRef 最上層 fileset 元素的參照清單(逗點區隔的字串)。 參照的檔案集 ID id string 唯一的配置 ID。 name string 管理者的共用程式庫名稱 - library > fileset
說明: 參照的檔案集 ID必要: false資料類型: 屬性名稱 資料類型 預設值 說明 caseSensitive boolean true 指出搜尋是否應該區分大小寫的布林值(預設值:true)。 dir 目錄的路徑 ${server.config.dir} 搜尋檔案的基本目錄。 excludes string 要從搜尋結果中且以逗點或空格區隔的檔名型樣清單,預設為不排除任何檔案。 id string 唯一的配置 ID。 includes string * 要併入搜尋結果中且以逗點或空格區隔的檔名型樣清單(預設值:*)。 scanInterval 精準度是毫秒的時間量 0 用以檢查檔案集之變更的掃描間隔,以時間單位字尾 h-小時、m-分鐘、s-秒、ms-毫秒的長整數來表示(例如 2ms 或 5s)。預設為已停用 (scanInterval=0)。. 指定正整數加上時間單位,時間單位可以是小時 (h)、分鐘 (m)、秒 (s) 或毫秒 (ms)。例如,指定 500 毫秒為 500ms。您可以在單一項目中包括多個值。例如,1s500ms 相等於 1.5 秒。
- ltpa
- 「小型認證機構 (LTPA)」記號配置。
屬性名稱 資料類型 預設值 說明 expiration 精準度是分鐘的時間量 120m 記號到期之前的時間量(分鐘)。. 指定正整數加上時間單位,時間單位可以是小時 (h) 或分鐘 (m)。例如,指定 30 分鐘為 30m。您可以在單一項目中包括多個值。例如,1h30m 相等於 90 分鐘。 keysFileName 檔案的路徑 ${server.output.dir}/resources/security/ltpa.keys 包含記號金鑰之檔案的路徑。 keysPassword 可逆的編碼密碼(字串) {xor}CDo9Hgw= 記號金鑰的密碼。其值可以用明碼或編碼形式儲存。建議您將密碼編碼,請搭配使用 securityUtility 工具與編碼選項。 monitorInterval 精準度是毫秒的時間量 0ms 伺服器檢查 LTPA 記號金鑰檔更新項目的頻率。. 指定正整數加上時間單位,時間單位可以是小時 (h)、分鐘 (m)、秒 (s) 或毫秒 (ms)。例如,指定 500 毫秒為 500ms。您可以在單一項目中包括多個值。例如,1s500ms 相等於 1.5 秒。 - openidConnectClient
- OpenID Connect 用戶端。
屬性名稱 資料類型 預設值 說明 authFilterRef 最上層 authFilter 元素的參照(字串)。 指定鑑別過濾器參照。 authorizationEndpointUrl string 指定授權端點 URL。 clientId string 用戶端的身分。 clientSecret 可逆的編碼密碼(字串) 用戶端的秘密金鑰。 hostNameVerificationEnabled boolean false 指定是否啟用主機名稱驗證。 httpsRequired boolean true OpenID 依賴方和提供者服務之間需要進行 SSL 通訊。 id string 唯一的配置 ID。 includeIdTokenInSubject boolean true 指定是否在用戶端主旨中包含 ID 記號。 initialStateCacheCapacity int 下限:0
3000 指定狀態快取的起始容量。容量會依照本身的需求不斷變大。 issuerIdentifier string 「發證者 ID」是一個區分大小寫的 URL,它使用含有架構、主機和選用埠號與路徑元件的 HTTPS 架構。 mapIdentityToRegistryUser boolean false 指定是否將身分對映至登錄使用者。不使用使用者登錄來建立使用者主旨。 nonceEnabled boolean false 在授權碼流程中啟用 Nonce 參數。 redirectToRPHostAndPort string 指定重新導向 OpenID 依賴方的主機和埠號。 scope tokenType openid profile 容許提供者使用的 OpenID Connect 範圍(詳述於 OpenID Connect 規格中)。 signatureAlgorithm - HS256
- none
- RS256
HS256 指定驗證 ID 記號簽章時要使用的簽章演算法。 - HS256
- %tokenSignAlgorithm.HS256
- none
- %tokenSignAlgorithm.NONE
- RS256
- %tokenSignAlgorithm.RS256
sslRef string 指定連接 OpenID Connect 提供者時所使用的 SSL 配置 ID。 tokenEndpointUrl string 指定記號端點 URL。 trustAliasName string 用來尋找公開金鑰以便使用非對稱演算法來驗證簽章的金鑰別名。 trustStoreRef string 含有驗證 ID 記號簽章所需要之公開金鑰的金鑰儲存庫。 userIdentityToCreateSubject string sub 指定 ID 記號中用來建立使用者主旨的使用者身分。 - openidConnectClient > authFilter
說明: 指定鑑別過濾器參照。必要: false資料類型: - openidConnectClient > authFilter > host
說明: 唯一的配置 ID。必要: false資料類型: 屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 matchType - equals
- contains
- notContain
contains 指定相符類型。 - equals
- 等於
- contains
- 包含
- notContain
- 不包含
name string 指定名稱。
- openidConnectClient > authFilter > remoteAddress
說明: 唯一的配置 ID。必要: false資料類型: 屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 ip string 指定 IP 位址。 matchType - lessThan
- equals
- greaterThan
- contains
- notContain
contains 指定相符類型。 - lessThan
- 小於
- equals
- 等於
- greaterThan
- 大於
- contains
- 包含
- notContain
- 不包含
- openidConnectClient > authFilter > requestUrl
說明: 唯一的配置 ID。必要: false資料類型: 屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 matchType - equals
- contains
- notContain
contains 指定相符類型。 - equals
- 等於
- contains
- 包含
- notContain
- 不包含
urlPattern string 指定 URL 型樣。
- quickStartSecurity
- 簡式管理安全配置。
屬性名稱 資料類型 預設值 說明 userName string 定義為快速入門安全配置之一部分的單一使用者。這位使用者獲授予「管理者」角色。 userPassword 可逆的編碼密碼(字串) 定義為快速入門安全配置之一部分的單一使用者密碼。建議您將此密碼編碼。如果要這麼做,請搭配使用 securityUtility 工具與編碼選項。 - trustAssociation
- 控制信任關聯攔截程式 (TAI) 的作業。
屬性名稱 資料類型 預設值 說明 failOverToAppAuthType boolean false 容許攔截程式回復為應用程式鑑別機制。 id string 唯一的配置 ID。 invokeForUnprotectedURI boolean false 控制是否針對未受保護的 URI 呼叫 TAI。 - trustAssociation > interceptors
說明: 唯一的配置 ID。必要: false資料類型: 屬性名稱 資料類型 預設值 說明 className string 攔截程式類別的完整套件名稱。 enabled boolean true 啟用或停用攔截程式。 id string 唯一的配置 ID。 invokeAfterSSO boolean true 在單一登入 (SSO) 之後呼叫攔截程式。 invokeBeforeSSO boolean false 在單一登入 (SSO) 之前呼叫攔截程式。 libraryRef 最上層 library 元素的參照(字串)。 共用程式庫配置 ID 的參照。 - trustAssociation > interceptors > library
說明: 共用程式庫配置 ID 的參照。必要: false資料類型: 屬性名稱 資料類型 預設值 說明 apiTypeVisibility string spec,ibm-api,api 這個程式庫的類別載入器將能夠看到的 API 套件類型,方式為下列項目之任何組合的逗點區隔清單:spec、ibm-api、api、third-party。 description string 管理者的共用程式庫說明 filesetRef 最上層 fileset 元素的參照清單(逗點區隔的字串)。 參照的檔案集 ID name string 管理者的共用程式庫名稱 - trustAssociation > interceptors > library > file
說明: 參照的檔案 ID必要: false資料類型: 屬性名稱 資料類型 預設值 說明 id string 唯一的配置 ID。 name 檔案的路徑 完整檔名
- trustAssociation > interceptors > library > fileset
說明: 參照的檔案集 ID必要: false資料類型: 屬性名稱 資料類型 預設值 說明 caseSensitive boolean true 指出搜尋是否應該區分大小寫的布林值(預設值:true)。 dir 目錄的路徑 ${server.config.dir} 搜尋檔案的基本目錄。 excludes string 要從搜尋結果中且以逗點或空格區隔的檔名型樣清單,預設為不排除任何檔案。 id string 唯一的配置 ID。 includes string * 要併入搜尋結果中且以逗點或空格區隔的檔名型樣清單(預設值:*)。 scanInterval 精準度是毫秒的時間量 0 用以檢查檔案集之變更的掃描間隔,以時間單位字尾 h-小時、m-分鐘、s-秒、ms-毫秒的長整數來表示(例如 2ms 或 5s)。預設為已停用 (scanInterval=0)。. 指定正整數加上時間單位,時間單位可以是小時 (h)、分鐘 (m)、秒 (s) 或毫秒 (ms)。例如,指定 500 毫秒為 500ms。您可以在單一項目中包括多個值。例如,1s500ms 相等於 1.5 秒。