Node.js Applicationのテスト

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

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

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

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

Node.js Applicationの登録

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

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

Node.js Applicationの設定

Oracle Identity Cloud ServiceのSDKをNode.jsプログラミング言語用に使用するように、サンプル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'
  }
};
module.exports = ids;

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

Node.js Applicationを実行します

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

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