WebアプリケーションとOracle Identity Cloud Service間の認証について学習

次のことを学習する準備ができました。

  • Oracle Identity Cloud Service SDKを使用する場合

  • これらのSDKの動作

  • SDKを使用する前に知っておくべきこと、持っているべきこと、または使用すべきこと

  • Java、Node.jsまたはPython SDKのどちらを使用するか

Oracle Identity Cloud Service SDKを使用する場合

Java、Node.jsまたはPython Webアプリケーションを開発し、これらのアプリケーションをオンプレミス・サーバーまたはクラウドベースのプラットフォーム・サービス(Oracle Application Container Cloud Serviceなど)にデプロイするとします。あなたは、Oracle Identity Cloud ServiceでWebアプリケーションの認証職責を処理しようと考えています。これを行うには、Oracle Identity Cloud Service SDKを使用します。

これらのSDKは Oracleによってテストされています。SDKは、Oracle Identity Cloud Serviceでユーザーを認証するためにアプリケーションによって行われる必要があるすべてのREST APIエンドポイント・コールをラップします。

SDKを使用する他の利点は次のとおりです。

  • WebアプリケーションとOracle Identity Cloud Service間の通信の合理化

  • Webアプリケーションが認可コードをユーザー・アクセス・トークンと交換して、Oracle Identity Cloud Serviceに登録済ユーザーを識別する方法の簡略化

  • Oracle Identity Cloud Serviceによって提供されるSSOを介してユーザーがWebアプリケーションにアクセスできるようにする

Oracle Identity Cloud Service SDKの動作の理解

Java SDKはクラスおよびメソッドのコレクションで、Node.jsおよびPython SDKにはファイルおよび関数が含まれています。これらのコレクションは、ライブラリおよびフレームワークとして組み立てられます。必要なのは、アプリケーションのプロジェクトにSDKライブラリまたはフレームワークを含め、アプリケーションをコンパイルしてアプリケーション・サーバーまたはコンテナにデプロイすることのみです。

SDKを使用する前に、アプリケーションを信頼できるアプリケーションとしてOracle Identity Cloud Serviceに登録する必要があります。Oracle Identity Cloud Serviceは、アプリケーションのクライアントIDおよびクライアント・シークレットを生成します。クライアントIDとクライアント・シークレットは、SDKがOracle Identity Cloud Serviceとの通信に使用する資格証明(たとえば、IDとパスワード)に相当します。

Oracle Identity Cloud Serviceと通信するには、SDKに次のようなその他の詳細も必要です:

  • オーディエンス・サービスURL: Oracle Identity Cloud ServiceインスタンスのURL (https://idcs-abc123456789.identity.oraclecloud.comなど)

  • スコープ: Oracle Identity Cloud Serviceと通信してユーザーを認証する際にアプリケーションが必要とするアクセス(openidなど)

  • リダイレクトURL: アプリケーションのコールバックURL。ユーザーがサインインした後にWebブラウザをユーザーにリダイレクトするためにOracle Identity Cloud Serviceによって使用されます(http://localhost/callbackなど)。

開始する前に

Oracle Identity Cloud ServiceのJava、Node.jsおよびPython SDKでは、サードパーティ・ライブラリが使用されます。各SDKは、これらのライブラリの特定のバージョンで動作するように検証されています。

SDKを使用する前に、SDKに関連付けられたサードパーティ・ライブラリが、Webアプリケーションで使用されている他のライブラリと競合していないことを確認してください。また、次のことが必要です。

  • 各SDKに関連付けられたコードのロジックを理解するための、Java、Node.jsまたはPythonプログラミング言語に関する基本的な知識

  • アプリケーションの言語に関連付けられているSDK

  • Oracle Identity Cloud Serviceのインスタンスへのアクセス

  • Webアプリケーションを信頼できるアプリケーションとして登録できるように、Oracle Identity Cloud Serviceのアイデンティティ・ドメイン管理者またはアプリケーション管理者アカウント

使用するSDKの決定

Java、Node.jsまたはPython Webアプリケーションを開発していて、Oracle Identity Cloud Serviceをアプリケーションの認証メカニズムとして使用する場合は、アプリケーションの言語に関連付けられたSDKを使用します。

Oracle Identity Cloud Serviceにアイデンティティ・ドメイン管理者またはセキュリティ管理者アカウントがある場合、Identity Cloud Serviceコンソールの「ダウンロード」ページからSDKをダウンロードできます。そのように行うには:

  1. 「Identity Cloud Service」コンソールで、ナビゲーション・ドロワーを開き、「設定」「ダウンロード」の順に選択します。

  2. 「ダウンロード」ページで、ダウンロードするSDKの右側にある「ダウンロード」をクリックします。

次の言語のSDKをzipファイルとしてダウンロードできます。

  • Java: このzipファイルにはJARライブラリ・ファイルが含まれています。このファイルは、アプリケーションの libフォルダに追加するか、アプリケーションを配備するアプリケーションサーバーにインストールする必要があります。

  • Node.js: このzipファイルには、アプリケーションのnode_modulesフォルダの一部として含める必要があるパスポート戦略フォルダが含まれています。

  • Python: このzipファイルには、IdcsClient.pyConstants.pyの2つのpythonファイルが含まれています。これらのファイルをアプリケーションのプロジェクトに追加する必要があります。

Oracleでは、各SDKの使用方法を理解するために、これらの言語ごとにサンプルWebアプリケーションを提供しています。サンプル・アプリケーションは、Oracle Identity Cloud Serviceでユーザーを認証するためのユースケースと、ログイン・ユーザーから詳細情報にアクセスするためのユースケースの2つを実装しています。