瞭解如何使用 SDK 認證應用程式

Oracle Identity Cloud Service 可為您的應用系統提供身分識別管理、單一登入 (SSO) 及身分識別治理。它也為 Oracle Cloud 提供安全平台,可讓您安全、輕鬆地存取、開發及部署應用程式。

Oracle Identity Cloud Service 可以作為身分識別提供者、集中認證機制、處理所有密碼管理責任,以及為您的應用程式提供 SSO。此外,您可以啟用多重因素認證 (MFA) 及實作強制實行修正動作的原則 (例如允許或拒絕使用者存取應用程式),以增強應用程式的安全性。

若要開發使用 Oracle Identity Cloud Service 認證機制的應用程式,請使用 SDK。Oracle Identity Cloud Service 的 SDK 是以業界標準通訊協定和層級為基礎,例如 OAuth 2.0 和 OpenID Connect 1.0。SDK 封裝所有必要的 REST API 端點呼叫,以便透過 Oracle Identity Cloud Service 驗證使用者,讓您輕鬆完成工作。

Oracle Identity Cloud Service SDK 支援 OAuth 2.0 和 OpenID Connect 1.0 的下列流程:

  • 三方流程:使用者可直接與 Oracle Identity Cloud Service 互動。使用者登入之後,Oracle Identity Cloud Service 會發出授權碼,供 SDK 交換使用者存取記號。此存取權杖主要用來授予使用者對應用程式中受保護資源的存取權。三方流程使用授權代碼授權類型。

    Oracle 建議您使用三方流程將 Web 應用程式與 Oracle Identity Cloud Service 整合以進行認證。此外,使用授權碼授權類型,您還可以存取其他受 Oracle Identity Cloud Service 保護的應用程式,而不需要重新認證。

  • 雙方流程:使用者不會直接與 Oracle Identity Cloud Service 互動。相反地,信任的應用程式與 Oracle Identity Cloud Service 之間會進行所有通訊。這些應用程式會要求並接收來自 Oracle Identity Cloud Service 的使用者存取權杖,以授予使用者對應用程式中受保護資源的存取權杖。雙方流程使用從屬端證明資料或資源擁有者授權類型。

架構

下列架構圖說明使用 SDK 程式庫執行 OAuth 2.0 和 OpenID Connect 1.0 雙方和三方驗證流程的 Web 應用程式。三方流程使用授權碼授權類型,雙方流程則使用從屬端證明資料和資源擁有者授權類型。

授權碼類型

authorization-code-grant-type.png 的描述如下
authorization-code-grant-type.png 圖解描述

資料流程包含下列步驟:

  1. 使用者要求受保護的 URL。

  2. Oracle Identity Cloud Service 會顯示登入頁面。

  3. 使用者送出其登入證明資料。

  4. Oracle Identity Cloud Service 會透過 Web 瀏覽器對 Web 應用程式發出授權碼。

  5. Web 應用程式使用 SDK 交換使用者存取權杖的授權碼。

  6. Web 應用程式會顯示使用者的內容。

從屬端證明資料授權類型

client-credentials-grant-type.png 的描述如下
client-credentials-grant-type.png 圖解描述

資料流程包含下列步驟:

  1. 使用者要求受保護的 URL。

  2. 要求會轉送至 Web 應用程式。

  3. Web 應用程式會使用 SDK 將從屬端 ID 和加密密碼送出至 Oracle Identity Cloud Service 進行驗證。

  4. Oracle Identity Cloud Service 會發出 Web 應用程式的存取權杖。

  5. Web 應用程式會顯示使用者的內容。

如果 Web 應用程式需要存取 Oracle Identity Cloud Service 的 REST API,您也可以使用從屬端證明資料授權類型。Oracle Identity Cloud Service 發出的使用者存取權杖不會包含任何使用者資訊。

資源擁有者授權類型

resource-owner-grant-type.png 的描述如下
resource-owner-grant-type.png 圖解描述

資料流程包含下列步驟:

  1. 使用者要求受保護的 URL。

  2. 應用程式會顯示登入頁面。

  3. 使用者送出其登入證明資料。

  4. 應用程式會使用 SDK 將使用者的證明資料和應用程式的從屬端 ID 和加密密碼送出至 Oracle Identity Cloud Service 進行驗證。

  5. Oracle Identity Cloud Service 會對應用程式發出使用者存取權杖。

  6. 應用程式會顯示使用者的內容。

資源擁有者授權類型與三方授權碼授權類型類似,但應用程式會收集使用者的證明資料,並將其與應用程式的從屬端 ID 和從屬端加密密碼一起使用,以要求 Oracle Identity Cloud Service 的使用者存取記號。

附註:

在資源擁有者授權類型中,應用程式無法參與 Oracle Identity Cloud Service 提供的 SSO 處理作業。如果您希望應用程式使用 Oracle Identity Cloud Service 認證機制,請使用三方授權碼授權類型。

關於必要服務與角色

此解決方案需要 Oracle Identity Cloud Service

這些是必要的角色。

角色 需要 ...
Security administrator 存取 Oracle Identity Cloud Service 主控台的下載頁面。您可以從此頁面下載 Java SDK。
Application administrator Oracle Identity Cloud Service 中管理應用程式。這包括在 Oracle Identity Cloud Service 註冊範例 Java 應用程式。

請參閱 Oracle 產品、解決方案和服務,以瞭解您的需求。