測試 Java 應用程式

在解決方案的這個部分中,您可以:

  • 註冊範例 Java Web 應用程式,將其與 Oracle Identity Cloud Service 整合以進行驗證

  • 設定讓應用程式使用 Oracle Identity Cloud Service 的 SDK 作為 Java 程式設計語言

  • 準備、執行及測試應用程式

註冊 Java 應用程式

若要建立與 Oracle Identity Cloud Service 的通訊,範例 Java Web 應用程式需要用戶端 ID 和密碼。您也必須設定 API 權限,才能授予應用程式。

  1. 在 Oracle Identity Cloud Service 主控台中,展開側邊功能表,然後按一下應用程式。
  2. 按一下在應用程式頁面中新增。
  3. 在「新增應用程式」對話方塊中,按一下「機密應用程式」。
  4. 在詳細資料窗格的名稱和說明欄位中,輸入 SDK Web Application,然後按一下下一步。
  5. 在從屬端窗格中,選取立即將此應用程式設定為從屬端,然後填入此窗格的欄位,如下所示:
    欄位 數值
    允許的授權類型 選取用戶端證明資料與授權代碼。
    允許使用非 HTTPS URL 選取此核取方塊。應用程式在非 HTTPS 模式下運作。
    重新導向 URL http://localhost:8080/callback
    登出後重新導向 URL http://localhost:8080
  6. 在從屬端窗格中,向下捲動並選取將從屬端存取權授予 Identity Cloud Service 管理 API 。在下方的欄位中輸入 Authenticator Client 和 Me,然後按一下下一步。
  7. 在下列窗格中,按一下下一步,直到到達最後一個窗格為止。然後,按一下完成。
  8. 在新增的應用程式對話方塊中,記下「從屬端 ID」和「從屬端加密密碼」值 (因為您的 Java Web 應用程式需要這些值才能與 Oracle Identity Cloud Service 整合),然後按一下關閉。
  9. 因為您要將此應用程式與 Oracle Identity Cloud Service 整合,請按一下啟用。
  10. 在「啟動應用程式?」對話方塊中,按一下「啟動應用程式」。
  11. 在 Oracle Identity Cloud Service 主控台中,按一下主控台右上角的使用者名稱,然後按一下登出。

設定 Java 應用程式

更新範例 Java 應用程式的程式碼,使其使用 Oracle Identity Cloud Service 的 SDK 作為 Java 程式設計語言。

  1. 開啟 c:\temp\java\pom.xml 檔案。
  2. 找到下列行程式碼:
    <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/idcs-assert.jar</systemPath>
  3. 將 idcs-assert.jar 檔案取代為您在「下載 Java SDK」區段中註記之檔案的名稱。
  4. 將您的變更儲存至 pom.xml 檔案,然後關閉檔案。
  5. 編輯 c:\temp\java\src\main\java\sampleapp\util\ConnectionOptions.java 檔案、使用下列內容更新 getOptions 方法,然後儲存檔案。
     public Map<String,Object> getOptions(){
            //Adding Oracle Identity Cloud Service connection parameters to the HashMap instance.
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_HOST, "identity.oraclecloud.com");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_PORT, "443");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_CLIENT_ID, "123456789abcdefghij");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_CLIENT_SECRET, "abcde-12345-zyxvu-98765-qwerty");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_CLIENT_TENANT, "idcs-abcd1234");
            this.options.put(Constants.AUDIENCE_SERVICE_URL, "https://idcs-abcd1234.identity.oraclecloud.com:443");
            this.options.put(Constants.TOKEN_ISSUER, "https://identity.oraclecloud.com/");
            this.options.put(Constants.TOKEN_CLAIM_SCOPE, "urn:opc:idm:t.user.me openid");
            this.options.put("SSLEnabled", "true");
            this.options.put("redirectURL", "http://localhost:8080/callback");
            this.options.put("logoutSufix", "/oauth2/v1/userlogout");
            this.options.put(Constants.LOG_LEVEL, "DEBUG");
            this.options.put(Constants.CONSOLE_LOG, "True");
    	return this.options;
    }
    您可以從本解決方案的「瞭解方法和函數」主題取得 IDCS_HOST、IDCS_PORT 和 IDCS_CLIENT_TENANT 參數的值。對於 IDCS_CLIENT_ID 和 IDCS_CLIENT_SECRET 參數值,請使用 Oracle Identity Cloud Service 在您註冊 Java Web 應用程式時產生的「從屬端 ID」和「從屬端密碼」。

執行 Java 應用程式

準備、執行和測試範例 Java Web 應用程式。

  1. 啟動 NetBeans。
  2. 按一下檔案,然後按一下開啟專案。
  3. 選取 C:\temp\java 資料夾,然後按一下開啟專案。
  4. 在專案名稱上按一下滑鼠右鍵,然後按一下建立。
  5. 在專案名稱上按一下滑鼠右鍵,然後按一下執行。
    應用程式使用 NetBeans 的預設連接埠 ( 8080)。請確定您的 NetBeans 應用程式已設定成使用相同的連接埠。
  6. 在您看到使用 http://localhost:8080 URL 開啟的新瀏覽器視窗後,按一下登入。
  7. 在登入頁面中,按一下紅色的 Oracle 圖示。
  8. 在登入頁面中,使用您的 Oracle Identity Cloud Service 證明資料登入。
    登入 Oracle Identity Cloud Service 之後,就會顯示 Java Web 應用程式的首頁。登入使用者的名稱會顯示在頁面的右上方。
  9. 在左側功能表中,按一下我的設定檔。
  10. 驗證與您的設定檔關聯的資訊是否會顯示在頁面中心。