測試 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 ClientMe,然後按一下下一步
  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_HOSTIDCS_PORTIDCS_CLIENT_TENANT 參數的值。對於 IDCS_CLIENT_IDIDCS_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. 驗證與您的設定檔關聯的資訊是否會顯示在頁面中心。