Node.js SDKを使用したOracle Identity Cloud Serviceによるアプリケーションの認証について

Oracle Identity Cloud Service認証メカニズムを使用するNode.js Webアプリケーションを開発する場合は、Node.js SDKを使用します。このSDKは、Oracle Identity Cloud Serviceでユーザーを認証するために必要なREST APIエンドポイントのすべてのコールをカプセル化するため、作業を促進します。

Oracle Identity Cloud Serviceでは、アプリケーションのアイデンティティ管理、シングル・サインオン(SSO)およびアイデンティティ・ガバナンスが提供されます。また、Oracle Cloudのセキュリティ・プラットフォームも提供され、アプリケーションに対する安全で簡単なアクセス、開発、およびデプロイが可能です。Oracle Identity Cloud Serviceは、idプロバイダとして機能し、認証メカニズムを一元化し、すべてのパスワード管理責任を処理し、アプリケーションにSSOを提供できます。

Oracleは、認証のためにOracle Identity Cloud Serviceと統合できるサンプル・アプリケーションを提供します。このアプリケーションは、Expressおよびパスポート・フレームワークを使用して開発されました。

サンプルNode.js Webアプリケーションは、2つのタイプのコンテンツで構成されています。

  • パブリック・アクセス可能なページ

  • ユーザーがアプリケーションと持っているセッションで、Oracle Identity Cloud Serviceユーザー・アクセス・トークンの存在を確認するプライベート・ページ

アーキテクチャ

次のアーキテクチャー図に、Node.js WebアプリケーションがSDKライブラリを使用して、Oracle Identity Cloud Serviceで3レッグOpenID Connect認証フローを実行する方法を示します。

この認証フローは、認可コード付与タイプに基づいたOAuth 2.0認可フローです。この付与タイプを使用することで、ユーザーはOracle Identity Cloud Serviceにサインインする必要があります。ユーザーがサインインした後、ユーザーはOracle Identity Cloud Serviceによって保護されている他のアプリケーションにアクセスでき、再認証は必要ありません。

データ・フローの動作は次のとおりです。

  1. ユーザーが保護されたURLをリクエストします。

  2. Oracle Identity Cloud Service:「サインイン」ページが表示されます。

  3. ユーザーは、サインイン資格証明を送信します。

  4. Oracle Identity Cloud Serviceは、Webブラウザ経由でNode.jsアプリケーションに認可コードを発行します。

  5. Node.jsアプリケーションでは、SDKを使用してユーザー・アクセス・トークンの認可コードを交換します。

  6. Node.jsアプリケーションには、ユーザーのコンテンツが表示されます。その後のログインの場合、ユーザー・アクセス・トークンでOracle Identity Cloud Service REST APIsがコールされ、ユーザーに関する詳細情報が表示されます。

Node.js Webアプリケーションのサンプルは、本番環境での使用を目的としておらず、データ処理、パターン、セキュリティなどの言語のベスト・プラクティスに関するものではありません。その唯一の目的は、SDKを使用してOracle Identity Cloud ServiceおよびNode.js Webアプリケーションを統合するために推奨される方法に対処することです。

必要なサービスおよびロールについて

このソリューションにはOracle Identity Cloud Serviceが必要です。

これらはOracle Identity Cloud Serviceに必要なロールです。

役割 必須...
セキュリティ管理者 Identity Cloud Serviceコンソールの「ダウンロード」ページにアクセスします。このページから、Java SDKをダウンロードできます。
アプリケーション管理者 Oracle Identity Cloud Serviceでアプリケーションを管理します。これには、サンプルJavaアプリケーションのOracle Identity Cloud Serviceへの登録も含まれます。

OracleソリューションのOracle Cloudサービスを利用してOracle Identity Cloud Serviceを取得する方法について学習します。