使用 Oracle Identity Cloud Service 認證 Java 應用程式 測試 Java 應用程式 測試 Java 應用程式 在解決方案的這個部分中,您可以: 註冊範例 Java Web 應用程式,將其與 Oracle Identity Cloud Service 整合以進行驗證 設定讓應用程式使用 Oracle Identity Cloud Service 的 SDK 作為 Java 程式設計語言 準備、執行及測試應用程式 註冊 Java 應用程式 若要建立與 Oracle Identity Cloud Service 的通訊,範例 Java Web 應用程式需要用戶端 ID 和密碼。您也必須設定 API 權限,才能授予應用程式。 在 Oracle Identity Cloud Service 主控台中,展開側邊功能表,然後按一下應用程式。 按一下在應用程式頁面中新增。 在「新增應用程式」對話方塊中,按一下「機密應用程式」。 在詳細資料窗格的名稱和說明欄位中,輸入 SDK Web Application,然後按一下下一步。 在從屬端窗格中,選取立即將此應用程式設定為從屬端,然後填入此窗格的欄位,如下所示: 欄位 數值 允許的授權類型 選取用戶端證明資料與授權代碼。 允許使用非 HTTPS URL 選取此核取方塊。應用程式在非 HTTPS 模式下運作。 重新導向 URL http://localhost:8080/callback 登出後重新導向 URL http://localhost:8080 在從屬端窗格中,向下捲動並選取將從屬端存取權授予 Identity Cloud Service 管理 API 。在下方的欄位中輸入 Authenticator Client 和 Me,然後按一下下一步。 在下列窗格中,按一下下一步,直到到達最後一個窗格為止。然後,按一下完成。 在新增的應用程式對話方塊中,記下「從屬端 ID」和「從屬端加密密碼」值 (因為您的 Java Web 應用程式需要這些值才能與 Oracle Identity Cloud Service 整合),然後按一下關閉。 因為您要將此應用程式與 Oracle Identity Cloud Service 整合,請按一下啟用。 在「啟動應用程式?」對話方塊中,按一下「啟動應用程式」。 在 Oracle Identity Cloud Service 主控台中,按一下主控台右上角的使用者名稱,然後按一下登出。 設定 Java 應用程式 更新範例 Java 應用程式的程式碼,使其使用 Oracle Identity Cloud Service 的 SDK 作為 Java 程式設計語言。 開啟 c:\temp\java\pom.xml 檔案。 找到下列行程式碼:<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/idcs-assert.jar</systemPath> 將 idcs-assert.jar 檔案取代為您在「下載 Java SDK」區段中註記之檔案的名稱。 將您的變更儲存至 pom.xml 檔案,然後關閉檔案。 編輯 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 應用程式。 啟動 NetBeans。 按一下檔案,然後按一下開啟專案。 選取 C:\temp\java 資料夾,然後按一下開啟專案。 在專案名稱上按一下滑鼠右鍵,然後按一下建立。 在專案名稱上按一下滑鼠右鍵,然後按一下執行。應用程式使用 NetBeans 的預設連接埠 ( 8080)。請確定您的 NetBeans 應用程式已設定成使用相同的連接埠。 在您看到使用 http://localhost:8080 URL 開啟的新瀏覽器視窗後,按一下登入。 在登入頁面中,按一下紅色的 Oracle 圖示。 在登入頁面中,使用您的 Oracle Identity Cloud Service 證明資料登入。登入 Oracle Identity Cloud Service 之後,就會顯示 Java Web 應用程式的首頁。登入使用者的名稱會顯示在頁面的右上方。 在左側功能表中,按一下我的設定檔。 驗證與您的設定檔關聯的資訊是否會顯示在頁面中心。