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は、アイデンティティ・プロバイダとして機能し、認証メカニズムを一元化して、すべてのパスワード管理職責を処理し、アプリケーションにSSOを提供できます。

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

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

  • 公開アクセス可能なページ

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

アーキテクチャ

次のアーキテクチャ図は、Node.js WebアプリケーションがSDKライブラリを使用して、Oracle Identity Cloud Serviceで3-legged 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 APIをコールして、ユーザーに関する詳細情報を取得します。

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

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

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

これらは必要なロールです。

Service: Role 必須...
Oracle Identity Cloud Service: Security administrator Oracle Identity Cloud Serviceコンソールの「ダウンロード」ページにアクセスします。このページでは、Java SDKをダウンロードできます。
Oracle Identity Cloud Service: Application administrator Oracle Identity Cloud Serviceでアプリケーションを管理します。これには、Oracle Identity Cloud ServiceへのサンプルJavaアプリケーションの登録が含まれます。

必要なものを得るには、Oracle製品、ソリューションおよびサービスを参照してください。