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