Java Applicationのテスト

ソリューションのこのセクションでは、次の操作を行います。

  • サンプルJava Webアプリケーションを登録し、Oracle Identity Cloud Serviceと認証のために統合します

  • Oracle Identity Cloud ServiceのSDKをJavaプログラミング言語用に使用するようにアプリケーションを設定します

  • アプリケーションの準備、実行およびテスト

Java Applicationの登録

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 Applicationの設定

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;
    }
    このソリューションのLearn About Method and Functionsトピックから、IDCS_HOSTIDCS_PORT、およびIDCS_CLIENT_TENANTパラメータの値を取得できます。IDCS_CLIENT_IDパラメータおよびIDCS_CLIENT_SECRETパラメータ値には、Java Webアプリケーションの登録時にOracle Identity Cloud Serviceによって生成されたクライアントIDとクライアント・シークレットを使用します。

Java Applicationを実行します

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. プロファイルに関連付けられた情報がページの中央に表示されることを確認します。