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によって保護されている他のアプリケーションにアクセスでき、再認証は必要ありません。
データ・フローの動作は次のとおりです。
-
ユーザーが保護されたURLをリクエストします。
-
Oracle Identity Cloud Service:「サインイン」ページが表示されます。
-
ユーザーは、サインイン資格証明を送信します。
-
Oracle Identity Cloud Serviceは、Webブラウザ経由でNode.jsアプリケーションに認可コードを発行します。
-
Node.jsアプリケーションでは、SDKを使用してユーザー・アクセス・トークンの認可コードを交換します。
-
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を取得する方法について学習します。