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

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

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

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

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

このソリューションでは、Oracle Identity Cloud Serviceへのアクセスが必要です。

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

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

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