Python SDKを使用したOracle Identity Cloud Serviceでのアプリケーションの認証について

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

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

Oracleでは、最初からPython Webアプリケーションを作成するかわりに、認証のためにOracle Identity Cloud Serviceと統合できるサンプル・アプリケーションを提供しています。このアプリケーションは、PythonのDJango Webフレームワークを使用して開発されました。

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

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

  • プライベート・ページ。アプリケーションを使用した現在のユーザー・セッションで、Oracle Identity Cloud Serviceユーザー・アクセス・トークンが存在することを確認します。

アーキテクチャ

次のアーキテクチャ・ダイアグラムは、Python 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は、承認コードをPythonアプリケーションに発行します。

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

  6. Pythonアプリケーションには、ユーザーのコンテンツが表示されます。

このソリューションのPython Webアプリケーションは本番にはパブリッシュされず、データ処理、パターンおよびセキュリティなどのPythonを使用する際のベスト・プラクティスに従っていません。このサンプル・アプリケーションの唯一の目的は、SDKを使用して、Oracle Identity Cloud ServiceおよびPython Webアプリケーションを統合する方法を説明することです。

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

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

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

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

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