OpenID

OpenID 是一種開放式標準,可讓使用者本身接受多個實體的鑑別,而不需要管理多個帳戶或多組認證。 Liberty 支援 OpenID 2.0 ,並在 Web 單一登入中扮演「依賴方」的角色。

OpenID 提供者 (OP)
一種 OpenID 鑑別伺服器,可以主張該使用者是否控制唯一 ID。
依賴方 (RP)
一種實體,需要證明該使用者控制唯一 ID。
OpenID ID:
一個屬於 OpenID 提供者或使用者的 HTTP 或 HTTPS URL。

存取網站等之類的各種實體時,通常需要與每一個實體相關聯的唯一帳戶。 OpenID 會啟用由「OpenID 提供者」處理的單一組認證,來授與對支援 OpenID 的實體(數量不一)的存取權。

當需要登入某實體時(例如:支援 OpenID 並擔任「依賴方」的網站),使用者會執行鑑別,其作法是直接與 OP 互動,而不是提供其認證給 RP 本身。 OP 會驗證使用者的身分,並將鑑別確認傳回給 RP。 RP 收到來自 OP 的這項確認時,會將使用者視為已鑑別進而接受。

以下說明一般 OpenID 鑑別流程:

  1. 使用者嘗試存取網頁等之類的受保護資源。
  2. 作為 RP 的 Liberty 伺服器會呈現受保護資源的表單登入頁面。
  3. 使用者輸入 OpenID ID。
  4. RP 取得 ID,並將使用者重新導向至適當的 OP。
  5. OP 提示使用者提供認證。
  6. 使用者輸入 OP 相關聯帳戶的認證。
  7. OP 鑑別使用者,並選擇性地提示使用者核准或拒絕提供使用者資訊給 RP,接著將使用者連同鑑別結果重新導向回 RP。
  8. 如果 OP 鑑別成功,RP 會嘗試授權使用者。
  9. 如果使用者授權成功,RP 會與使用者之間建立已鑑別的階段作業。
這裡可以看到 OpenID 鑑別流程

OpenID 可將不當處理使用者認證或機密性資訊的機會降至最低。 利用 OpenID,使用者認證的交換對象只有 OpenID 提供者,這表示除了 OP,其他任何網站都看不到使用者的認證。 這種標準有助於減少惡意或不安全網站洩漏使用者身分的可能性。 使用者也會控制要提供多少個人資訊給造訪的網站共用。 比方說,使用者可以選擇容許將其 OpenID 帳戶相關聯的名稱與電子郵件位址,提供給某個網站共用,又選擇不提供其電子郵件位址或任何資訊給另一個網站共用。

支援的 OpenID 標準規格包括:

OpenID 鑑別 2.0

OpenID 屬性交換 1.0

附註: 根據 識別一般使用者規格,必須使用 OpenID 2.0 聲明 ID 來識別使用者。 不過,「聲明 ID」對使用者來說並不方便,許多依賴方都選擇其中一個 OpenID 屬性來代表使用者。 最常用來代表使用者的屬性是使用者的電子郵件位址。

目前已知 OpenID 提供者不見得會驗證某些 OpenID 屬性(包括電子郵件)。 如果您不信任提供者會提供已驗證的電子郵件位址給您,則不得在 WebSphere Application Server 中使用提供者的電子郵件作為已鑑別的使用者名稱。