Python-Anwendung und SDK untersuchen
In diesem Abschnitt der Lösung haben Sie folgende Möglichkeiten:
-
Prüfen Sie Verhalten und Code der Python-Webanwendung
-
Prüfen Sie die Diagnosedaten, die mit erfolgreichen und nicht erfolgreichen Anmeldeversuchen verknüpft sind, die die Python-Webanwendung an Oracle Identity Cloud Service initiiert
Prüfen Sie das Verhalten der Python-Anwendung
Das Verhalten der Python-Webanwendung folgt dem dreibeinigen Authentifizierungsfluss, der durch den Autorisierungscodeerteilungstyp definiert wird.
Um alle Anforderungen, Antworten und Umleitungen zu überprüfen, die die Anwendung und Oracle Identity Cloud Service mit dem Webbrowser ausführen, aktivieren Sie den Developer-Modus für Ihren Browser. Diese Lösung verwendet Google Chrome.
- Führen Sie die Python-Webanwendung aus.
- Öffnen Sie einen Google Chrome-Webbrowser, greifen Sie auf die
http://localhost:8080
-URL zu, und klicken Sie auf Anmelden . - Klicken Sie auf F12, wählen Sie die Registerkarte Netzwerk , und aktivieren Sie das Kontrollkästchen Log beibehalten . Aktivieren Sie dieses Kontrollkästchen, um die gesamte Kommunikation zwischen der Anwendung und Oracle Identity Cloud Service anzuzeigen.
- Klicken Sie auf der Anmeldeseite auf das rote Oracle -Symbol, das rechts neben der Seite angezeigt wird, oder Sie können sich anmelden.
Python-Anwendungscode untersuchen
Nachdem Sie sich bei Oracle Identity Cloud Service angemeldet und zur Callback-URL der Python-Webanwendung umgeleitet wurden, zeigt die Python-Webanwendung Informationen im Befehlszeilenfenster an.
[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
Diagnosedaten prüfen
Wenn die Python-Webanwendung versucht, sich bei Oracle Identity Cloud Service anzumelden, werden erfolgreiche und nicht erfolgreiche Versuche in den Diagnoselogdateien von Oracle Identity Cloud Serviceregistriert.
- Melden Sie sich bei Oracle Identity Cloud Service an.
- Blenden Sie In der Identity Cloud Service -Konsole das Slide-In-Menü ein, klicken Sie auf Einstellungen , Diagnose .
- Wählen Sie Aktivitätsansicht als Diagnosetyp, und klicken Sie auf Speichern .
- Melden Sie sich bei Oracle Identity Cloud Service ab.
Oracle Identity Cloud Service erfasst Diagnosedaten für die nächsten 15 Minuten.
- Führen Sie die Schritte im Thema "Python-Anwendung ausführen" dieser Lösung aus, um die Anmeldeseite der Python-Webanwendung anzuzeigen.
- Klicken Sie auf das rote Oracle -Symbol, das rechts neben dem Symbol angezeigt wird, oder Sie können sich mit anmelden.
- Um einen nicht erfolgreichen Anmeldeversuch zu erstellen, geben Sie auf der Oracle Identity Cloud Service -Anmeldeseite einen falschen Benutzernamen oder ein falsches Kennwort ein.
- Um sich erfolgreich anzumelden, geben Sie Ihren Benutzernamen und Ihr Kennwort ein.
- Mit der Python-Webanwendung können Sie sich bei Oracle Identity Cloud Service abmelden.
- Melden Sie sich bei Oracle Identity Cloud Service an.
- Blenden Sie In der Identity Cloud Service -Konsole den Slide-In-Menü ein, klicken Sie auf Berichte , Diagnosedaten .
- Wählen Sie einen 15-Minute -Zeitbereich, den Logtyp der Aktivitätsansicht , das CSV-Berichtsformat , und klicken Sie auf Bericht herunterladen.
Die Diagnoselogdatei enthält Informationen, die den folgenden Informationen zu den Anmeldeversuchen von Oracle Identity Cloud Service ähneln.
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
Die neuesten Logs werden am Anfang der Datei angezeigt.