--Task-- name: Validation_user_idm enabled: True class_name: CheckUserTask source_name: idm source_namespace: >default< target_name: idm target_namespace: >default< start: 0 stop: None timeout: not yet initialized for this Task as timeout was not explicitly defined, see updates bellow loop: False interval: None dependencies: [] wait_for: [] options: {} group_name: None Current dir: /mnt/disks/data/xslou/lodestar-fork/pyrock ________________________________________________________________________________ [11/Jun/2023 18:47:17] Validation_user_idm pre : N/A ________________________________________________________________________________ [11/Jun/2023 18:47:17] - INFO: Timeout for this Task has changed to 1d (86400 seconds) [11/Jun/2023 18:47:17] - INFO: timeout was set to Task default (2x global_duration or 300 seconds (whatever is higher)), because it was unset ________________________________________________________________________________ [11/Jun/2023 18:47:17] Validation_user_idm step1 : Make sure we can create a user ________________________________________________________________________________ [LoginSession] Get "access_token" token for user "amadmin" [LoginSession] Obtaining new "access_token" token from server because it was not obtained yet for the user [LoginSession] Get "token_id" token for user "amadmin" [LoginSession] re-using "token_id" token that remains valid for 23m 33s Obtain Oauth2 authz code via REST Oauth2 authorize for access token [http_cmd]: curl --header "Content-Type: application/x-www-form-urlencoded" --request POST --cookie "amlbcookie=01" --cookie "iPlanetDirectoryPro=bmWg3WgAFBYlDdgRCXyDURooB9w.*AAJTSQACMDIAAlNLABxveEJ6aFptellrVGUrd0JQWm95bmVmajFFNVE9AAR0eXBlAANDVFMAAlMxAAIwMQ..*" --cookie "route=1686508862.007.29334.72824|f60edb382037eb2df1e800d563ad78a7" --data '{"decision": "Allow", "csrf": "bmWg3WgAFBYlDdgRCXyDURooB9w.*AAJTSQACMDIAAlNLABxveEJ6aFptellrVGUrd0JQWm95bmVmajFFNVE9AAR0eXBlAANDVFMAAlMxAAIwMQ..*"}' "https://xlou.iam.xlou-cdm.engineeringpit.com/am/oauth2/authorize?client_id=smokeclient&scope=fr:idm:*&redirect_uri=https://fake.com&response_type=code&realm=/" [http_cmd]: http status code OK --- status code --- http status code is 302 (expected 302) --- http response --- {'Date': 'Sun, 11 Jun 2023 18:47:18 GMT', 'Content-Length': '0', 'Connection': 'keep-alive', 'X-Frame-Options': 'SAMEORIGIN', 'X-Content-Type-Options': 'nosniff', 'Cache-Control': 'no-store', 'Location': 'https://fake.com?code=eqo3qGry0POLPpRCU_-h4gTC1rQ&iss=https%3A%2F%2Fxlou.iam.xlou-cdm.engineeringpit.com%2Fam%2Foauth2&client_id=smokeclient', 'Pragma': 'no-cache', 'Set-Cookie': 'OAUTH_REQUEST_ATTRIBUTES=DELETED; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Secure; HttpOnly; SameSite=none', 'Strict-Transport-Security': 'max-age=15724800; includeSubDomains', 'X-ForgeRock-TransactionId': '5cef62db224a4a8a1623bb84b58fc5e2'} Oauth2 exchange authorize code for access token [http_cmd]: curl --header "Content-Type: application/x-www-form-urlencoded" -L --request POST --data '{"grant_type": "authorization_code", "redirect_uri": "https://fake.com", "client_id": "smokeclient", "code": "eqo3qGry0POLPpRCU_-h4gTC1rQ"}' "https://xlou.iam.xlou-cdm.engineeringpit.com/am/oauth2/access_token?realm=/" [http_cmd]: http status code OK --- status code --- http status code is 200 (expected 200) --- http response --- { "access_token": "b_WmPVm0PUpLSvAP0Zlep53oUyE", "scope": "fr:idm:*", "token_type": "Bearer", "expires_in": 3599 } [http_cmd]: curl --header "Authorization: Bearer b_WmPVm0PUpLSvAP0Zlep53oUyE" --header "Content-Type: application/json" --insecure -L --request POST --data '{"userName": "SpiderMan_on_idm_20230611174312", "givenName": "Peter", "sn": "Parker", "password": "T35tr0ck123", "telephoneNumber": "6669876987", "description": "IDM Test User", "roles": [], "mail": "SpiderMan_on_idm_20230611174312@forgerock.com"}' "https://xlou.iam.xlou-cdm.engineeringpit.com/openidm/managed/user?_action=create" [http_cmd]: http status code OK --- status code --- http status code is 201 (expected [200, 201]) --- http response --- [print_head_tail]: Print head (10 lines) and tail (10 lines) of input string (33 lines): ----- output ----- { "_id": "bc1dbf4a-6181-4847-b287-861395dab2e5", "_rev": "ad25e9a4-ce1a-4cd5-ab3d-dd872b55ce9a-228", "country": null, "telephoneNumber": "6669876987", "mail": "SpiderMan_on_idm_20230611174312@forgerock.com", "memberOfOrgIDs": [], "city": null, "displayName": null, "assignedDashboard": [], [...] "effectiveGroups": [], "preferences": null, "organizationName": null, "givenName": "Peter", "stateProvince": null, "userName": "SpiderMan_on_idm_20230611174312", "postalAddress": null, "effectiveRoles": [], "activateAccount": null } ________________________________________________________________________________ [11/Jun/2023 18:47:19] Validation_user_idm step2 : Make sure we can search the user both in IDM ________________________________________________________________________________ Create new LoginSession for user "SpiderMan_on_idm_20230611174312" [LoginSession] Get "access_token" token for user "SpiderMan_on_idm_20230611174312" [LoginSession] Obtaining new "access_token" token from server because it was not obtained yet for the user [LoginSession] Get "token_id" token for user "SpiderMan_on_idm_20230611174312" [LoginSession] Obtaining new "token_id" token from server because it was not obtained yet for the user Authenticate user SpiderMan_on_idm_20230611174312 via REST [http_cmd]: curl --header "X-OpenAM-Username: SpiderMan_on_idm_20230611174312" --header "X-OpenAM-Password: T35tr0ck123" --header "Content-Type: application/json" --header "Accept-API-Version: resource=2.0, protocol=1.0" -L --request POST "https://xlou.iam.xlou-cdm.engineeringpit.com/am/json/authenticate?realm=/" [http_cmd]: http status code OK --- status code --- http status code is 200 (expected 200) --- http response --- { "tokenId": "AW-C77RWGO9xuKf68Y7qS2-UagI.*AAJTSQACMDIAAlNLABw4UDFoaWZackhLemJCeFprTWJMelk5d0hIWkU9AAR0eXBlAANDVFMAAlMxAAIwMQ..*", "successUrl": "/am/console", "realm": "/" } [LoginSession] Obtaining session info [http_cmd]: curl --header "iPlanetDirectoryPro: AW-C77RWGO9xuKf68Y7qS2-UagI.*AAJTSQACMDIAAlNLABw4UDFoaWZackhLemJCeFprTWJMelk5d0hIWkU9AAR0eXBlAANDVFMAAlMxAAIwMQ..*" --header "Content-Type: application/json" --header "Accept-API-Version: resource=3.0, protocol=2.1" --header "filters_cookie: AW-C77RWGO9xuKf68Y7qS2-UagI.*AAJTSQACMDIAAlNLABw4UDFoaWZackhLemJCeFprTWJMelk5d0hIWkU9AAR0eXBlAANDVFMAAlMxAAIwMQ..*" -L --request POST "https://xlou.iam.xlou-cdm.engineeringpit.com/am/json/realms/root/sessions?_action=getSessionInfo" [http_cmd]: http status code OK --- status code --- http status code is 200 (expected 200) --- http response --- { "username": "bc1dbf4a-6181-4847-b287-861395dab2e5", "universalId": "id=bc1dbf4a-6181-4847-b287-861395dab2e5,ou=user,ou=am-config", "realm": "/", "latestAccessTime": "2023-06-11T18:47:19Z", "maxIdleExpirationTime": "2023-06-11T19:17:19Z", "maxSessionExpirationTime": "2023-06-11T20:47:18Z", "properties": { "AMCtxId": "63160f2d-1bd0-4c49-a65d-0af1d1f461d2-534" } } Obtain Oauth2 authz code via REST Oauth2 authorize for access token [http_cmd]: curl --header "Content-Type: application/x-www-form-urlencoded" --request POST --cookie "amlbcookie=01" --cookie "iPlanetDirectoryPro=AW-C77RWGO9xuKf68Y7qS2-UagI.*AAJTSQACMDIAAlNLABw4UDFoaWZackhLemJCeFprTWJMelk5d0hIWkU9AAR0eXBlAANDVFMAAlMxAAIwMQ..*" --cookie "route=1686509240.476.29956.929521|f60edb382037eb2df1e800d563ad78a7" --data '{"decision": "Allow", "csrf": "AW-C77RWGO9xuKf68Y7qS2-UagI.*AAJTSQACMDIAAlNLABw4UDFoaWZackhLemJCeFprTWJMelk5d0hIWkU9AAR0eXBlAANDVFMAAlMxAAIwMQ..*"}' "https://xlou.iam.xlou-cdm.engineeringpit.com/am/oauth2/authorize?client_id=smokeclient&scope=fr:idm:*&redirect_uri=https://fake.com&response_type=code&realm=/" [http_cmd]: http status code OK --- status code --- http status code is 302 (expected 302) --- http response --- {'Date': 'Sun, 11 Jun 2023 18:47:20 GMT', 'Content-Length': '0', 'Connection': 'keep-alive', 'X-Frame-Options': 'SAMEORIGIN', 'X-Content-Type-Options': 'nosniff', 'Cache-Control': 'no-store', 'Location': 'https://fake.com?code=nyghrnpRmHCo9-xZAsbqX7ANbCs&iss=https%3A%2F%2Fxlou.iam.xlou-cdm.engineeringpit.com%2Fam%2Foauth2&client_id=smokeclient', 'Pragma': 'no-cache', 'Set-Cookie': 'OAUTH_REQUEST_ATTRIBUTES=DELETED; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Secure; HttpOnly; SameSite=none', 'Strict-Transport-Security': 'max-age=15724800; includeSubDomains', 'X-ForgeRock-TransactionId': '18484131f729bc0c2f78d2f270607765'} Oauth2 exchange authorize code for access token [http_cmd]: curl --header "Content-Type: application/x-www-form-urlencoded" -L --request POST --data '{"grant_type": "authorization_code", "redirect_uri": "https://fake.com", "client_id": "smokeclient", "code": "nyghrnpRmHCo9-xZAsbqX7ANbCs"}' "https://xlou.iam.xlou-cdm.engineeringpit.com/am/oauth2/access_token?realm=/" [http_cmd]: http status code OK --- status code --- http status code is 200 (expected 200) --- http response --- { "access_token": "Oc_0Evu9JJz7m4_5YCrh3n4jayo", "scope": "fr:idm:*", "token_type": "Bearer", "expires_in": 3599 } [http_cmd]: curl --header "Authorization: Bearer Oc_0Evu9JJz7m4_5YCrh3n4jayo" --header "Content-Type: application/json" --insecure -L --request GET "https://xlou.iam.xlou-cdm.engineeringpit.com/openidm/managed/user/bc1dbf4a-6181-4847-b287-861395dab2e5" [http_cmd]: http status code OK --- status code --- http status code is 200 (expected 200) --- http response --- [print_head_tail]: Print head (10 lines) and tail (10 lines) of input string (33 lines): ----- output ----- { "_id": "bc1dbf4a-6181-4847-b287-861395dab2e5", "_rev": "ad25e9a4-ce1a-4cd5-ab3d-dd872b55ce9a-228", "country": null, "telephoneNumber": "6669876987", "mail": "SpiderMan_on_idm_20230611174312@forgerock.com", "memberOfOrgIDs": [], "city": null, "displayName": null, "assignedDashboard": [], [...] "effectiveGroups": [], "preferences": null, "organizationName": null, "givenName": "Peter", "stateProvince": null, "userName": "SpiderMan_on_idm_20230611174312", "postalAddress": null, "effectiveRoles": [], "activateAccount": null } ________________________________________________________________________________ [11/Jun/2023 18:47:20] Validation_user_idm step3 : Make sure user can authenticate himself ________________________________________________________________________________ Anonymous POST to Login service endpoint to obtain appropriate callbacks Call to Login Tree [http_cmd]: curl --header "Content-Type: application/json" --header "Accept-API-Version: protocol=2.0,resource=1.0" -L --request POST "https://xlou.iam.xlou-cdm.engineeringpit.com/am/json/realms/root/authenticate?authIndexType=service&authIndexValue=Login" [http_cmd]: http status code OK --- status code --- http status code is 200 (expected 200) --- http response --- [print_head_tail]: Print head (10 lines) and tail (10 lines) of input string (39 lines): ----- output ----- { "authId": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoSW5kZXhWYWx1ZSI6IkxvZ2luIiwib3RrIjoiYmhqYzZnMDN0MTRmdWZmNnA0aGw2ZzNvZHMiLCJhdXRoSW5kZXhUeXBlIjoic2VydmljZSIsInJlYWxtIjoiLyIsInNlc3Npb25JZCI6IipBQUpUU1FBQ01ESUFCSFI1Y0dVQUNFcFhWRjlCVlZSSUFBSlRNUUFDTURFLipleUowZVhBaU9pSktWMVFpTENKamRIa2lPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LlpYbEtNR1ZZUVdsUGFVcExWakZSYVV4RFNteGliVTFwVDJsS1FrMVVTVFJSTUVwRVRGVm9WRTFxVlRKSmFYZHBXVmQ0YmtscWIybGFSMng1U1c0d0xpNVVjWEY1WVVNNFUxYzNhSE5UZWtocWRIUkhkRnBSTG1aMVVIVkJNalIyYzFSTVlqTXlSRTlsV1hkQ01tbFpOVTE0YVdwSFJFRlBRWFUzV1VkR1ZYZHlWR3RMU21KS1V6SjFlWHBzU0hZNGJsWnZTMVF4YTBnemIyNWpWMVpJTTA1eGJ6bFNkblJpWnpsMVZIWlVkbloxT1RKUVpYRXhMVXR3VEZSQ1NFUjNjbFJpUlRocFpYVXpSWEpUTVdGbVQyZFFNVFJGTjI1S1ZtOVdVakF5TW5obE5DMTJhbkV4TjBoalZVd3hha1IxTjFNd2VYaEdhV2hDUVVOeGJHRjFTMEkyV2s1V1VtaDNhVUZtTW5nMlZHOVNUMWRpTVVGeE5VTm1SR2RRTUdaWlJXZHpaRE5NZVhVeVNXVkhiWEpRZURsTlgxOXRRWHBUTm1oV09WSnJUMnMzZEd0RVVtNVpSazl0VEVzMVUyMWpVR0pHWmw5NE9EaHljRXRwV0dOdVZITllZbUk1YVhkamJFUlFlRmt6ZWxSWVVUUlBPWFJHU1Y5clRsVnZRbE5SWVdSeU0xQmFWM0J0VWpSTUxXeHNkMjl6TUU0MFdtRktMVWhOWkVGcFpqZERSa0pxZFVaU1RubGlZbVF6VDNWWFgxZEtTVzkyYWpKUWJEZEtlRjgxVWtwWFozWnhUalpWUlVKa1dsZzRVazFHVnkxM1NFbDNWV2RYVm5KalF6SjFWakJ2YVdGbWVtTlNZbEZ4YVdFNVVYQXpjRFZqZGw5b1VtbE1RMlJETUdsVVVUUndVRU5vZHpsQ09VRkxka0pNTVc5VU4yNXVjbHBGZEhoNVJ6ZG1Xazk0TWw5M05UbGxVekp3WW5sVU5YazBOaTAzVUVSTVltdDZhblJDTUZKaE1VTTRVWHAxTnpCT1J6RllaR05mUWpNNU0xUkxOMmxRUXpSTGVreFllRVYyWkdKVVpscEhhR00xTkhZdFFrbzNRMWxJUjB0Q1dGZDFjRlF4WmpSV2VWYzRlakkzUTBGVFJVOWZNSHB2U0d0dWFUaFpWR2hvYldKaFUwNUdVelJTWjFacldYTk9PVTF0Y1cxcFVrdG9SblpmWldOUFVFNVRObE4wWVRORk9HOTViMkU1WW0weE9Ia3hVR2htU0hKSWRYQldNbE5LZHpseFprMUxjR0Y1Ym1VeU9ERkxTVTFvWnpZdFRGUm5MamsyVGxGcFRDMWZkamMwY1RSM2JUUlRNVkJYVEhjLjc5Wmd2UGRHYzF5ZW9QclYzZGZ4enh5ZG1ZeHYtcGFNTVpaVEhEU1pDLUkiLCJleHAiOjE2ODY1MDk1NDEsImlhdCI6MTY4NjUwOTI0MX0.Ow671QhDUtSZK1C6UMfB3UHNKRq1-bz29LLD_MxuoaM", "callbacks": [ { "type": "NameCallback", "output": [ { "name": "prompt", "value": "User Name" } [...] "name": "IDToken2", "value": "" } ], "_id": 1 } ], "header": "Sign In", "description": "New here? Create an account
Forgot username? Forgot password?" } Set value for first two callbacks for login Call to Login Tree with input values [http_cmd]: curl --header "Content-Type: application/json" --header "Accept-API-Version: protocol=2.0,resource=1.0" -L --request POST --data '{"authId": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoSW5kZXhWYWx1ZSI6IkxvZ2luIiwib3RrIjoiYmhqYzZnMDN0MTRmdWZmNnA0aGw2ZzNvZHMiLCJhdXRoSW5kZXhUeXBlIjoic2VydmljZSIsInJlYWxtIjoiLyIsInNlc3Npb25JZCI6IipBQUpUU1FBQ01ESUFCSFI1Y0dVQUNFcFhWRjlCVlZSSUFBSlRNUUFDTURFLipleUowZVhBaU9pSktWMVFpTENKamRIa2lPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LlpYbEtNR1ZZUVdsUGFVcExWakZSYVV4RFNteGliVTFwVDJsS1FrMVVTVFJSTUVwRVRGVm9WRTFxVlRKSmFYZHBXVmQ0YmtscWIybGFSMng1U1c0d0xpNVVjWEY1WVVNNFUxYzNhSE5UZWtocWRIUkhkRnBSTG1aMVVIVkJNalIyYzFSTVlqTXlSRTlsV1hkQ01tbFpOVTE0YVdwSFJFRlBRWFUzV1VkR1ZYZHlWR3RMU21KS1V6SjFlWHBzU0hZNGJsWnZTMVF4YTBnemIyNWpWMVpJTTA1eGJ6bFNkblJpWnpsMVZIWlVkbloxT1RKUVpYRXhMVXR3VEZSQ1NFUjNjbFJpUlRocFpYVXpSWEpUTVdGbVQyZFFNVFJGTjI1S1ZtOVdVakF5TW5obE5DMTJhbkV4TjBoalZVd3hha1IxTjFNd2VYaEdhV2hDUVVOeGJHRjFTMEkyV2s1V1VtaDNhVUZtTW5nMlZHOVNUMWRpTVVGeE5VTm1SR2RRTUdaWlJXZHpaRE5NZVhVeVNXVkhiWEpRZURsTlgxOXRRWHBUTm1oV09WSnJUMnMzZEd0RVVtNVpSazl0VEVzMVUyMWpVR0pHWmw5NE9EaHljRXRwV0dOdVZITllZbUk1YVhkamJFUlFlRmt6ZWxSWVVUUlBPWFJHU1Y5clRsVnZRbE5SWVdSeU0xQmFWM0J0VWpSTUxXeHNkMjl6TUU0MFdtRktMVWhOWkVGcFpqZERSa0pxZFVaU1RubGlZbVF6VDNWWFgxZEtTVzkyYWpKUWJEZEtlRjgxVWtwWFozWnhUalpWUlVKa1dsZzRVazFHVnkxM1NFbDNWV2RYVm5KalF6SjFWakJ2YVdGbWVtTlNZbEZ4YVdFNVVYQXpjRFZqZGw5b1VtbE1RMlJETUdsVVVUUndVRU5vZHpsQ09VRkxka0pNTVc5VU4yNXVjbHBGZEhoNVJ6ZG1Xazk0TWw5M05UbGxVekp3WW5sVU5YazBOaTAzVUVSTVltdDZhblJDTUZKaE1VTTRVWHAxTnpCT1J6RllaR05mUWpNNU0xUkxOMmxRUXpSTGVreFllRVYyWkdKVVpscEhhR00xTkhZdFFrbzNRMWxJUjB0Q1dGZDFjRlF4WmpSV2VWYzRlakkzUTBGVFJVOWZNSHB2U0d0dWFUaFpWR2hvYldKaFUwNUdVelJTWjFacldYTk9PVTF0Y1cxcFVrdG9SblpmWldOUFVFNVRObE4wWVRORk9HOTViMkU1WW0weE9Ia3hVR2htU0hKSWRYQldNbE5LZHpseFprMUxjR0Y1Ym1VeU9ERkxTVTFvWnpZdFRGUm5MamsyVGxGcFRDMWZkamMwY1RSM2JUUlRNVkJYVEhjLjc5Wmd2UGRHYzF5ZW9QclYzZGZ4enh5ZG1ZeHYtcGFNTVpaVEhEU1pDLUkiLCJleHAiOjE2ODY1MDk1NDEsImlhdCI6MTY4NjUwOTI0MX0.Ow671QhDUtSZK1C6UMfB3UHNKRq1-bz29LLD_MxuoaM", "callbacks": [{"type": "NameCallback", "output": [{"name": "prompt", "value": "User Name"}], "input": [{"name": "IDToken1", "value": "SpiderMan_on_idm_20230611174312"}], "_id": 0}, {"type": "PasswordCallback", "output": [{"name": "prompt", "value": "Password"}], "input": [{"name": "IDToken2", "value": "T35tr0ck123"}], "_id": 1}], "header": "Sign In", "description": "New here? Create an account
Forgot username? Forgot password?"}' "https://xlou.iam.xlou-cdm.engineeringpit.com/am/json/realms/root/authenticate?authIndexType=service&authIndexValue=Login" [http_cmd]: http status code OK --- status code --- http status code is 200 (expected 200) --- http response --- { "tokenId": "BkR3M478eyL7S8yFgGq4BnNVIU4.*AAJTSQACMDIAAlNLABxRbkJDcTJsWnA1bXpwRGttQWZuUlZQZ2RhMEk9AAR0eXBlAANDVFMAAlMxAAIwMQ..*", "successUrl": "/am/console", "realm": "/" } ________________________________________________________________________________ [11/Jun/2023 18:47:23] Validation_user_idm step4 : Make sure we can delete the user ________________________________________________________________________________ [LoginSession] Get "access_token" token for user "amadmin" [LoginSession] re-using "access_token" token that remains valid for 59m 45s [http_cmd]: curl --header "Authorization: Bearer b_WmPVm0PUpLSvAP0Zlep53oUyE" --header "Content-Type: application/json" --insecure -L --request DELETE "https://xlou.iam.xlou-cdm.engineeringpit.com/openidm/managed/user/bc1dbf4a-6181-4847-b287-861395dab2e5" [http_cmd]: http status code OK --- status code --- http status code is 200 (expected 200) --- http response --- [print_head_tail]: Print head (10 lines) and tail (10 lines) of input string (33 lines): ----- output ----- { "_id": "bc1dbf4a-6181-4847-b287-861395dab2e5", "_rev": "ad25e9a4-ce1a-4cd5-ab3d-dd872b55ce9a-228", "country": null, "telephoneNumber": "6669876987", "mail": "SpiderMan_on_idm_20230611174312@forgerock.com", "memberOfOrgIDs": [], "city": null, "displayName": null, "assignedDashboard": [], [...] "effectiveGroups": [], "preferences": null, "organizationName": null, "givenName": "Peter", "stateProvince": null, "userName": "SpiderMan_on_idm_20230611174312", "postalAddress": null, "effectiveRoles": [], "activateAccount": null } ________________________________________________________________________________ [11/Jun/2023 18:47:23] Validation_user_idm post : Post method ________________________________________________________________________________ Setting result to PASS Task has been successfully stopped