PythonアプリケーションとSDKを調べてください
ソリューションのこのセクションでは、次の操作を行います。
-
Python Webアプリケーションの動作とコードを調べてください
-
Python WebアプリケーションがOracle Identity Cloud Serviceを開始する成功および失敗したログイン試行に関連付けられた診断データを確認します
Pythonアプリケーションの動作を確認してください
Python Webアプリケーションの動作は、認可コード権限タイプで定義された3レッグ認証フローに従います。
アプリケーションとOracle Identity Cloud ServiceがWebブラウザを使用して実行しているすべてのリクエスト、レスポンスおよびリダイレクトを検証するには、開発者モードをブラウザで有効にします。このソリューションではGoogle Chromeを使用します。
- Python Webアプリケーションを実行します。
- Google Chrome Webブラウザを開いて、
http://localhost:8080
URLにアクセスし、「ログイン」をクリックします。 - F12を押して「ネットワーク」タブを選択し、「ログを保持」チェックボックスを選択します。アプリケーションとOracle Identity Cloud Service間のすべての通信を表示するには、このチェック・ボックスを選択します。
- ログイン ・ページで、右側に表示されるOracle赤色のアイコンをクリックするか、または「次でログイン」できます。
Pythonアプリケーションのコードを調べてください
Oracle Identity Cloud Serviceにサインインし、Python WebアプリケーションのコールバックURLにリダイレクトされると、Python Webアプリケーションはコマンドライン・ウィンドウに情報を表示します。
[Date] "GET / HTTP/1.1" 200 2520 [Date] "GET /login/ HTTP/1.1" 200 3489 [Date] "GET /auth/ HTTP/1.1" 302 0 [Date] "GET /callback?code=[value has been omitted for readability]&state=1234 HTTP/1.1" 301 0 [Date] "GET /callback/?code=[value has been omitted for readability]&state=1234 HTTP/1.1" 200 2690
診断データの確認
Python WebアプリケーションがOracle Identity Cloud Serviceにサインインしようとすると、成功した試行と失敗した試行の両方が、Oracle Identity Cloud Serviceの診断ログ・ファイルに登録されます。
- Oracle Identity Cloud Serviceにサインインします。
- Identity Cloud Serviceコンソールで、ナビゲーション・ドロワーを展開し、「設定」、「診断」の順にクリックします。
- 診断タイプとして「アクティビティ表示」を選択し、「保存」をクリックします。
- Oracle Identity Cloud Serviceからサインアウトします。
Oracle Identity Cloud Serviceは、次の15分の診断データを取得します。
- このソリューションの「Pythonアプリケーションの実行」トピックのステップを完了して、Python Webアプリケーションのログイン ・ページを表示します。
- 右側に表示されるOracle赤色のアイコンまたは「次でログインできます」をクリックします。
- サインインの試行に失敗した場合は、Oracle Identity Cloud Service「サインイン」ページで正しくないユーザー名またはパスワードを入力します。
- 正常にサインインするには、正しいユーザー名とパスワードを入力します。
- Python Webアプリケーションを使用して、Oracle Identity Cloud Serviceからサインアウトしてください。
- Oracle Identity Cloud Serviceにサインインします。
- Identity Cloud Serviceコンソールで、「ナビゲーション・ドロワー」を展開し、「レポート」、「診断データ」の順にクリックします。
- 「15-Minute」の範囲、「アクティビティ・ビュー」ログ・タイプ、CSVレポート形式の順に選択して、「レポートのダウンロード」をクリックします。
診断ログファイルには、Oracle Identity Cloud Serviceへのサインイン試行に関する次のような情報が含まれています。
Message: ID Token will be signed with User Tenant:idcs-abcd1234 Resource Tenant:idcs-abcd1234, clientId=123456789abcdefghij Component: OAuth Timestamp: [Date] Actor ID: your.email@domain.com --------------------------------------------------------------- ... --------------------------------------------------------------- Message: {"request":{"tenant":"idcs-abcd1234","grant types":"authorization_code","scopes":["urn:opc:idm:t.user.me"]},"user":{"id":"111111","name":"your.email@domain.com","tenant":"idcs-abcd1234","auth-type":"PASSWORD"},"client":{"id":"123456789abcdefghij","name":"Sample App","tenant":"idcs-abcd1234","auth-type":"PASSWORD"},"environment":{"isCSR":"false","onBehalfOfUser":"false"},"response":{"result":"ALLOWED","scopes":["urn:opc:idm:t.user.me"],"custom-claims":{"clientAppRoles":["Authenticated Client","Me"],"userAppRoles":["Authenticated","Global Viewer","Identity Domain Administrator"],"user_isAdmin":"true"}}} Component: Authorization/getAllowedScopes Timestamp: [Date] Actor ID: your.email@domain.com --------------------------------------------------------------- ... --------------------------------------------------------------- Message: {"Message":"SSO SignOn Policy evaluation result for user : 11111 is : effect:ALLOW,authenticationFactor:IDP,allowUserToSkip2FAEnrolment:false,2FAFrequency:SESSION,reAuthenticate:false,trustedDevice2FAFrequency: Component: Timestamp: Actor ID: --------------------------------------------------------------- ... --------------------------------------------------------------- Message: [PolicyEngineUtil.evaluatePolicy] Evaluating Default Sign-On Policy Component: PolicyEngine Timestamp: [Date] Actor ID: uiSignin --------------------------------------------------------------- ... --------------------------------------------------------------- Message: [PolicyEngineUtil.evaluateRule] Evaluating MFA rule Component: PolicyEngine Timestamp: [Date] Actor ID: uiSignin --------------------------------------------------------------- ... --------------------------------------------------------------- Message: [PolicyEngineUtil.evaluatePolicy] Evaluating Default Authentication Target App Policy Component: PolicyEngine Timestamp: [Date] Actor ID: idcssso --------------------------------------------------------------- ... --------------------------------------------------------------- Message: {"password":"********","authFactor":"USERNAME_PASSWORD","device":"{\"currentTime\":\"[date]",\"screenWidth\":1920,\"screenHeight\":1080,\"screenColorDepth\":24,\"screenPixelDepth\":24,\"windowPixelRatio\":1,\"language\":\"en\",\"userAgent\":\"Mozilla\/5.0 (Windows NT 10.0 Component: Timestamp: Actor ID: --------------------------------------------------------------- ... --------------------------------------------------------------- Message: {"Message":"No session found so need to collect credentials","Redirecting to Login URL: ":https://idcs-abcd1234.identity.oraclecloud.com/ui/v1/signin} Component: SSO Timestamp: [Date] Actor ID: Unauthenticated --------------------------------------------------------------- ... --------------------------------------------------------------- Message: [PolicyEngineUtil.evaluatePolicy] Evaluating Default Identity Provider Policy Component: PolicyEngine Timestamp: [Date] Actor ID: Unauthenticated --------------------------------------------------------------- Message: Authorization Request, received parameters: scope[urn:opc:idm:t.user.me openid] response_type[code] state[1234] redirect_uri[http://localhost:8000/callback] client_id[123456789abcdefghij] Component: OAuth Timestamp: [Date] Actor ID: Unauthenticated
最新のログがファイルの先頭に表示されます。