測試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 URLs 選取此核取方塊。應用程式是以非 Https 模式運作。
    重新導向 URL http://localhost:8080/callback
    登出後重導 URL http://localhost:8080
  6. 在從屬 窗格中,向下捲動,選取將從屬端存取權授予Identity Cloud Service管理APIs。在下方欄位中輸入Authenticator ClientMe,然後按一下下一步
  7. 在下列窗格中,按下一步 直到您到達最後一個窗格為止。然後,按一下完成
  8. 新增應用 程式對話方塊中,記下從屬端 ID 和從屬端密碼值 (因為您的Java Web 應用程式需要這些值來與Oracle Identity Cloud Service整合),然後按一下關閉
  9. 因為您想要將此應用程式與Oracle Identity Cloud Service整合,請按一下啟動
  10. 啟用應用程式? 對話方塊中,按一下啟動應用程式
  11. Oracle Identity Cloud Service主控台中,按一下主控台右上方的使用者名稱,然後按一下登出

設定Java應用程式

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

  1. 開啟c:\temp\java\pom.xml檔案。
  2. 找到下列程式碼行:
    <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/idcs-assert.jar</systemPath>
  3. 以下載Java SDK 區段中所提及的檔案名稱取代idcs-assert.jar檔案。
  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. 確認與您的設定檔關聯的資訊顯示在頁面中央。