Examiner l'application Python et le kit SDK
Dans cette section de la solution, vous pouvez :
-
Examiner le comportement et le code de l'application Web Python
-
Vérifiez les données de diagnostic associées aux tentatives de connexion réussies et en échec que l'application Web Python initie à Oracle Identity Cloud Service
Examiner le comportement de l'application Python
Le comportement de l'application Web Python suit le flux d'authentification à trois facteurs défini par le type d'octroi de code d'autorisation.
Pour vérifier toutes les demandes, réponses et réacheminements effectués par l'application et Oracle Identity Cloud Service à l'aide du navigateur Web, activez le mode Développeur. Cette solution utilise Google Chrome.
- Exécutez l'application Web Python.
- Ouvrez un navigateur Web Google Chrome, accédez à l'URL
http://localhost:8080
et cliquez sur Connexion. - Appuyez sur F12, sélectionnez l'onglet Réseau et cochez la case Conserver le journal. Cochez cette case pour voir toutes les communications entre l'application et Oracle Identity Cloud Service.
- Sur la page de connexion, cliquez sur l'icône rouge Oracle qui apparaît à droite ou vous pouvez vous connecter.
Examiner le code de l'application Python
Une fois que vous êtes connecté à Oracle Identity Cloud Service et réacheminé vers l'URL de callback de l'application Web Python, l'application Web Python affiche des informations dans la fenêtre de ligne de commande.
[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
Vérifier les données de diagnostic
Lorsque l'application Web Python tente de se connecter à Oracle Identity Cloud Service, les tentatives réussies et en échec sont inscrites dans les fichiers journaux de diagnostic de Oracle Identity Cloud Service.
- Connectez-vous à Oracle Identity Cloud Service.
- Dans la console Identity Cloud Service, développez le volet de navigation, cliquez sur Paramètres, puis sur Diagnostics.
- Sélectionnez Vue d'activité comme type de diagnostic, puis cliquez sur Enregistrer.
- Déconnectez-vous de Oracle Identity Cloud Service.
Oracle Identity Cloud Service capture les données de diagnostic des 15 prochaines minutes.
- Exécutez les étapes de la rubrique Exécuter l'application Python de cette solution pour afficher la page de connexion de l'application Web Python.
- Cliquez sur l'icône rouge Oracle à droite ou Vous pouvez vous connecter avec.
- Pour faire d'une tentative de connexion infructueuse, entrez un nom d'utilisateur ou un mot de passe incorrect sur la page de connexion à Oracle Identity Cloud Service.
- Pour vous connecter, entrez vos nom d'utilisateur et mot de passe corrects.
- Utilisez l'application Web Python pour vous déconnecter de Oracle Identity Cloud Service.
- Connectez-vous à Oracle Identity Cloud Service.
- Dans la console Identity Cloud Service, développez le volet de navigation, cliquez sur Rapports, puis sur Données de diagnostic.
- Sélectionnez une période 15-Minute, le type de journal Vue d'activité et le format de rapport CSV, puis cliquez sur Télécharger le rapport.
Le fichier journal de diagnostic contient des informations semblables aux informations suivantes sur les tentatives de connexion à 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
Les journaux les plus récents apparaissent en haut du fichier.