Node.jsアプリケーションのテスト

解決策のこのセクションでは、次の操作を行います。

  • サンプルNode.js WebアプリケーションをOracle Identity Cloud Serviceと統合して認証用に登録します

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

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

Node.jsアプリケーションの登録

Oracle Identity Cloud Serviceとの通信を確立するために、サンプルのNode.js WebアプリケーションにはクライアントIDおよびシークレットが必要です。また、アプリケーションに付与するAPI権限を構成する必要もあります。

  1. Oracle Identity Cloud Serviceコンソールで、ナビゲーション・ドロワーを開き、「アプリケーション」をクリックします。
  2. アプリケーション・ページで、「追加」をクリックします。
  3. 「アプリケーションの追加」ダイアログ・ボックスで、「機密アプリケーション」をクリックします。
  4. 「詳細」ペインの「名前」および「説明」フィールドにSDK Web Applicationと入力し、「次」をクリックします。
  5. 「クライアント」ペインで、「このアプリケーションをクライアントとして今すぐ構成」を選択し、このペインのフィールドを次のように移入します。
    フィールド Value
    許可される権限付与タイプ 「クライアント資格証明」および「認可コード」を選択します。
    HTTPS以外のURLを許可 このチェック・ボックスを選択します。アプリケーションは非HTTPSモードで動作します。
    リダイレクトURL http://localhost:3000/callback
    ログアウト後のリダイレクトURL http://localhost:3000
  6. 「クライアント」ペインでスクロール・ダウンし、「Identity Cloud Service管理APIへのクライアント・アクセス権を付与します。」を選択し、下のフィールドにAuthenticator ClientおよびMeと入力して、「次へ」をクリックします。
  7. 次のペインで、最後のペインが表示されるまで「次へ」をクリックします。次に、「終了」をクリックします。
  8. 「アプリケーション追加済」ダイアログ・ボックスで、「クライアントID」および「クライアント・シークレット」の値をノートにとります(Node.js Webアプリケーションでは、Oracle Identity Cloud Serviceと統合するためにこれらの値が必要であるため)。「閉じる」をクリックします。
  9. このアプリケーションをOracle Identity Cloud Serviceと統合するため、「アクティブ化」をクリックします。
  10. 「アプリケーションをアクティブ化しますか?」ダイアログ・ボックスで、「アプリケーションのアクティブ化」をクリックします。
  11. Oracle Identity Cloud Serviceコンソールで、コンソールの右上にあるユーザー名をクリックし、「サインアウト」をクリックします。

Node.jsアプリケーションの設定

Node.jsプログラミング言語にOracle Identity Cloud ServiceのSDKを使用するように、サンプルNode.jsアプリケーションのコードを更新します。

c:\temp\nodejs\auth.jsファイルを編集し、次の内容でファイルを更新してから、ファイルを保存します。

//Oracle Identity Cloud Service connection parameters as a json var
var ids = {
  oracle: {
    "ClientId": "123456789abcdefghij",
    "ClientSecret": "abcde-12345-zyxvu-98765-qwerty",
    "ClientTenant": "idcs-abcd1234",
    "IDCSHost": "https://%tenant%.identity.oraclecloud.com",
    "AudienceServiceUrl" : "https://idcs-abcd1234.identity.oraclecloud.com",
    "TokenIssuer": "https://identity.oraclecloud.com/",
    "scope": "urn:opc:idm:t.user.me openid",
    "logoutSufix": "/oauth2/v1/userlogout",
    "redirectURL": "http://localhost:3000/callback",
    "LogLevel": "warn",
    "ConsoleLog": "True"
  }
};
module.exports = ids;

ClientIdおよびClientSecretパラメータ値には、Node.js Webアプリケーションの登録時にOracle Identity Cloud Serviceによって生成されたクライアントIDおよびクライアント・シークレットを使用します。ClientTenantIDCSHostおよびAudienceServiceURLパラメータの値は、このソリューションの「メソッドおよび関数の学習」トピックから取得できます。

Node.jsアプリケーションの実行

サンプルNode.js Webアプリケーションを準備、実行およびテストします。

  1. コマンド・プロンプト・ウィンドウを開き、c:\temp\nodejsフォルダに移動し、npm installと入力して、サンプル・アプリケーションのpackage.jsonファイルに指定されている必要なモジュールをすべてインストールします。
  2. NodeJS_sdk.zipファイルのコンテンツをアプリケーション・ソース・コードのnode_modulesフォルダに抽出します。
    この.zipファイルは、このソリューションのNode.js SDKのダウンロード・セクションでダウンロードしました。
  3. npm startコマンドを実行して、アプリケーションを起動します。
  4. Webブラウザを開き、http://localhost:3000 URLにアクセスし、「ログイン」をクリックします。
  5. 「ログイン」ページで、赤い「Oracle」アイコンをクリックします。
  6. 「Oracle Identity Cloud Service サインイン」ページで、Oracle Identity Cloud Service資格証明を使用してサインインします。
    Oracle Identity Cloud Serviceにサインインすると、ブラウザは/homeページにリダイレクトされます。ログインしているユーザーの名前がページの右上に表示されます。
  7. 左側のメニューで、「マイ・プロファイル」をクリックします。
  8. プロファイルに関連付けられた情報がページの中央に表示されることを確認します。