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によって保護されている他のアプリケーションにアクセスできます。
データ・フローは次のようになります。
-
ユーザーが保護されたURLをリクエストします。
-
Oracle Identity Cloud Serviceに「サインイン」ページが表示されます。
-
ユーザーはサインイン資格証明を送信します。
-
Oracle Identity Cloud Serviceは、Webブラウザを介してNode.jsアプリケーションに認可コードを発行します。
-
Node.jsアプリケーションは、SDKを使用して、ユーザー・アクセス・トークンの認可コードを交換します。
-
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製品、ソリューションおよびサービスを参照してください。