--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 ________________________________________________________________________________ [19/May/2023 19:04:23] Validation_user_idm pre : N/A ________________________________________________________________________________ [19/May/2023 19:04:23] - INFO: Timeout for this Task has changed to 1d (86400 seconds) [19/May/2023 19:04:23] - INFO: timeout was set to Task default (2x global_duration or 300 seconds (whatever is higher)), because it was unset ________________________________________________________________________________ [19/May/2023 19:04:23] 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 14m 07s Obtain Oauth2 authz code via REST Oauth2 authorize for access token [http_cmd]: curl -H "Content-Type: application/x-www-form-urlencoded" -X POST --cookie "amlbcookie=01" --cookie "iPlanetDirectoryPro=9s4lclVTv76lzp5XpfR67CjzNSY.*AAJTSQACMDIAAlNLABxsY0luOElqMGF4N2RPTWs1VHpjY2VYamlReWc9AAR0eXBlAANDVFMAAlMxAAIwMQ..*" --cookie "route=1684522120.523.144046.100986|f60edb382037eb2df1e800d563ad78a7" --data '{"decision": "Allow", "csrf": "9s4lclVTv76lzp5XpfR67CjzNSY.*AAJTSQACMDIAAlNLABxsY0luOElqMGF4N2RPTWs1VHpjY2VYamlReWc9AAR0eXBlAANDVFMAAlMxAAIwMQ..*"}' "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': 'Fri, 19 May 2023 19:04:24 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=XuBBKRUH8lZfSbmWeRcMZW16_vw&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': 'f55830aabce7e23e1801f83d5d51f586'} Oauth2 exchange authorize code for access token [http_cmd]: curl -H "Content-Type: application/x-www-form-urlencoded" -L -X POST --data '{"grant_type": "authorization_code", "redirect_uri": "https://fake.com", "client_id": "smokeclient", "code": "XuBBKRUH8lZfSbmWeRcMZW16_vw"}' "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": "UXmnCudlfpsP7ssD9hnv5CVirJI", "scope": "fr:idm:*", "token_type": "Bearer", "expires_in": 3599 } [http_cmd]: curl -H "Authorization: Bearer UXmnCudlfpsP7ssD9hnv5CVirJI" -H "Content-Type: application/json" --insecure -L -X POST --data '{"userName": "SpiderMan_on_idm_20230519183614", "givenName": "Peter", "sn": "Parker", "password": "T35tr0ck123", "telephoneNumber": "6669876987", "description": "IDM Test User", "roles": [], "mail": "SpiderMan_on_idm_20230519183614@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 (32 lines): ----- output ----- { "_id": "68168594-bf89-4b9b-9c04-7121308ae458", "_rev": "c8b0dd6b-8463-44e3-bec0-506b7114b318-454", "country": null, "telephoneNumber": "6669876987", "mail": "SpiderMan_on_idm_20230519183614@forgerock.com", "memberOfOrgIDs": [], "city": null, "displayName": null, "effectiveAssignments": [], [...] "effectiveGroups": [], "preferences": null, "organizationName": null, "givenName": "Peter", "stateProvince": null, "userName": "SpiderMan_on_idm_20230519183614", "postalAddress": null, "effectiveRoles": [], "activateAccount": null } ________________________________________________________________________________ [19/May/2023 19:04:24] Validation_user_idm step2 : Make sure we can search the user both in IDM ________________________________________________________________________________ Create new LoginSession for user "SpiderMan_on_idm_20230519183614" [LoginSession] Get "access_token" token for user "SpiderMan_on_idm_20230519183614" [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_20230519183614" [LoginSession] Obtaining new "token_id" token from server because it was not obtained yet for the user Authenticate user SpiderMan_on_idm_20230519183614 via REST [http_cmd]: curl -H "X-OpenAM-Username: SpiderMan_on_idm_20230519183614" -H "X-OpenAM-Password: T35tr0ck123" -H "Content-Type: application/json" -H "Accept-API-Version: resource=2.0, protocol=1.0" -L -X 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": "aR-59V_3ClIhEeIxGfczlMWjAp0.*AAJTSQACMDIAAlNLABxGYzlHSnlOZVBsTUxWYVk4U0diMitzYjVwSmc9AAR0eXBlAANDVFMAAlMxAAIwMQ..*", "successUrl": "/am/console", "realm": "/" } [LoginSession] Obtaining session info [http_cmd]: curl -H "iPlanetDirectoryPro: aR-59V_3ClIhEeIxGfczlMWjAp0.*AAJTSQACMDIAAlNLABxGYzlHSnlOZVBsTUxWYVk4U0diMitzYjVwSmc9AAR0eXBlAANDVFMAAlMxAAIwMQ..*" -H "Content-Type: application/json" -H "Accept-API-Version: resource=3.0, protocol=2.1" -H "filters_cookie: aR-59V_3ClIhEeIxGfczlMWjAp0.*AAJTSQACMDIAAlNLABxGYzlHSnlOZVBsTUxWYVk4U0diMitzYjVwSmc9AAR0eXBlAANDVFMAAlMxAAIwMQ..*" -L -X 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": "68168594-bf89-4b9b-9c04-7121308ae458", "universalId": "id=68168594-bf89-4b9b-9c04-7121308ae458,ou=user,ou=am-config", "realm": "/", "latestAccessTime": "2023-05-19T19:04:25Z", "maxIdleExpirationTime": "2023-05-19T19:34:25Z", "maxSessionExpirationTime": "2023-05-19T21:04:24Z", "properties": { "AMCtxId": "da4b18ad-df2f-44c6-ac21-39dfaa9f4553-587" } } Obtain Oauth2 authz code via REST Oauth2 authorize for access token [http_cmd]: curl -H "Content-Type: application/x-www-form-urlencoded" -X POST --cookie "amlbcookie=01" --cookie "iPlanetDirectoryPro=aR-59V_3ClIhEeIxGfczlMWjAp0.*AAJTSQACMDIAAlNLABxGYzlHSnlOZVBsTUxWYVk4U0diMitzYjVwSmc9AAR0eXBlAANDVFMAAlMxAAIwMQ..*" --cookie "route=1684523066.096.144569.177467|f60edb382037eb2df1e800d563ad78a7" --data '{"decision": "Allow", "csrf": "aR-59V_3ClIhEeIxGfczlMWjAp0.*AAJTSQACMDIAAlNLABxGYzlHSnlOZVBsTUxWYVk4U0diMitzYjVwSmc9AAR0eXBlAANDVFMAAlMxAAIwMQ..*"}' "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': 'Fri, 19 May 2023 19:04:25 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=iTo58y6Oy_XHhDDsLXZD36XlNXk&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': '54afaeae5cdcddc3f5871bcd78c7ad2b'} Oauth2 exchange authorize code for access token [http_cmd]: curl -H "Content-Type: application/x-www-form-urlencoded" -L -X POST --data '{"grant_type": "authorization_code", "redirect_uri": "https://fake.com", "client_id": "smokeclient", "code": "iTo58y6Oy_XHhDDsLXZD36XlNXk"}' "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": "ynvRSEqVfWEjnMs-hxq7Jy32jTU", "scope": "fr:idm:*", "token_type": "Bearer", "expires_in": 3599 } [http_cmd]: curl -H "Authorization: Bearer ynvRSEqVfWEjnMs-hxq7Jy32jTU" -H "Content-Type: application/json" --insecure -L -X GET "https://xlou.iam.xlou-cdm.engineeringpit.com/openidm/managed/user/68168594-bf89-4b9b-9c04-7121308ae458" [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 (32 lines): ----- output ----- { "_id": "68168594-bf89-4b9b-9c04-7121308ae458", "_rev": "c8b0dd6b-8463-44e3-bec0-506b7114b318-454", "country": null, "telephoneNumber": "6669876987", "mail": "SpiderMan_on_idm_20230519183614@forgerock.com", "memberOfOrgIDs": [], "city": null, "displayName": null, "effectiveAssignments": [], [...] "effectiveGroups": [], "preferences": null, "organizationName": null, "givenName": "Peter", "stateProvince": null, "userName": "SpiderMan_on_idm_20230519183614", "postalAddress": null, "effectiveRoles": [], "activateAccount": null } ________________________________________________________________________________ [19/May/2023 19:04:26] 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 -H "Content-Type: application/json" -H "Accept-API-Version: protocol=2.0,resource=1.0" -L -X 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.eyJhdXRoSW5kZXhWYWx1ZSI6IkxvZ2luIiwib3RrIjoibGhkNHA5b3J2MDZsdDMybTg3NHVjbTJvaTMiLCJhdXRoSW5kZXhUeXBlIjoic2VydmljZSIsInJlYWxtIjoiLyIsInNlc3Npb25JZCI6IipBQUpUU1FBQ01ESUFCSFI1Y0dVQUNFcFhWRjlCVlZSSUFBSlRNUUFDTURFLipleUowZVhBaU9pSktWMVFpTENKamRIa2lPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LlpYbEtNR1ZZUVdsUGFVcExWakZSYVV4RFNteGliVTFwVDJsS1FrMVVTVFJSTUVwRVRGVm9WRTFxVlRKSmFYZHBXVmQ0YmtscWIybGFSMng1U1c0d0xpNTNhVVpSU1dKWWVtcEVUV0p5UTNOVGNtWXpSMlpuTG5saGJXSldVbTFDUzIxTldHTk1WbmRJYkhKS2VVZ3pURnBZYkdNd2RuQXRibmhTY0VKcVpXTmZXWEpFZGpoWmJGOU9WRVIwUTBaUmMxbHVhamhNVG10eVpqRlRZVjlSVDFWWVdIZEphMDE2WWt4ZlRYWXlNMmxGYVRkZmRXNXNaR1p3WWxOM1JIUldXSEJrWWpCaFIwOTNha3BxV1hKVU9Xa3dVV3N3VGxReVNWWTVNelJGU2tJdFNIbEJXaTFpY1RWNFNrUXpOSE56Y1ZOSmVVVlBWVE52UVZCWlFYQlRRbXhOVlY5NGNtWkRYMmd5YUU1dFRYRXdkbDlNWjFsdVVtMURUM0ptVlVGaVNUbEdlWFZsT1U1UlMyNU5ZMGhDWWs4M1V6aElhVzVxV1daNGVEVnJORXR3WVhBdFkzaHZMWGt3TFUxR1JuWkNNVzlCUVUxNloyVlRTRFJ0V1RWeGNXVjFkbFowWjJwNmVYSkVObFV5UVdkcmRXRmhWaTF6UlRseVJsTkZhV28wTlc1bWFsRkhaeTFoV0RrdE5rMDBWV3B1UlhwNWRHRnpkbEJpV1ZWc1VHNDVRMkZ0T0hFdGIzUk5VMDF5YVRWeVYwVXlXR2hsVTAweU5VUkVaR3AyUkVsWFpUTXhjbGxKVkVGWFIybFpTVEZpY2tsb1gxa3RZa1JvVUU1WGFuSnhSR2xxWVdweVduZDJla2t5U1drdE9YWXRibk0wWldvNFlrb3labkF6YXpjME9XVnVRVkpvU0hVdFoxRmxNbXhPTmw5TFFWRjJSR0pIYVVaWlN5MHhXRXh0YUV4T2VtVlJTMWRoY1hobWIxOHdXWE4wUzNvdFJreHRRVjlEV1ZOSmJEWTNkVzFqVDNSZlYxaHdia0ozYjJSdE0xOUJXbE00VVRodWEyUmFaM1kwUzBrMk5tNTJkbVEyZUdkNVNXRm9WVWRLYldSdldsWlhOazl0TUMxdlZtUnhOazVIU0c1TVN6QldiRkJMWTJkNFpUUjJPVGRQV0d4TFNFaHBiRGhDTVVsemVqVTJZVk4yVG1wSmIybHpjMjh6Y3pJNVIxbHNNV1ZhZG0xRFYyWnhWRFpMYVRSU2RFTkVWMnRyUVVsVmQwNXJaMmhNWjBZd2JuSlZSblp3Tm0xcWRGZENZV1JWVDFWUlRGRkJMalE0VkdselZHNVpURFZ6UTJSV1pqZHZNSE5JVW1jLmdPSzVUdkxuMDB5NXRoMHF4dFJ4UWxyQ2ZVblpBUEN2b0hXYWlrRC1fX28iLCJleHAiOjE2ODQ1MjMzNjcsImlhdCI6MTY4NDUyMzA2N30.VZ77tKStN5MtxdSqDStVYOKGooeNV_Oe0Fls-G_9_tI", "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 -H "Content-Type: application/json" -H "Accept-API-Version: protocol=2.0,resource=1.0" -L -X POST --data '{"authId": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoSW5kZXhWYWx1ZSI6IkxvZ2luIiwib3RrIjoibGhkNHA5b3J2MDZsdDMybTg3NHVjbTJvaTMiLCJhdXRoSW5kZXhUeXBlIjoic2VydmljZSIsInJlYWxtIjoiLyIsInNlc3Npb25JZCI6IipBQUpUU1FBQ01ESUFCSFI1Y0dVQUNFcFhWRjlCVlZSSUFBSlRNUUFDTURFLipleUowZVhBaU9pSktWMVFpTENKamRIa2lPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LlpYbEtNR1ZZUVdsUGFVcExWakZSYVV4RFNteGliVTFwVDJsS1FrMVVTVFJSTUVwRVRGVm9WRTFxVlRKSmFYZHBXVmQ0YmtscWIybGFSMng1U1c0d0xpNTNhVVpSU1dKWWVtcEVUV0p5UTNOVGNtWXpSMlpuTG5saGJXSldVbTFDUzIxTldHTk1WbmRJYkhKS2VVZ3pURnBZYkdNd2RuQXRibmhTY0VKcVpXTmZXWEpFZGpoWmJGOU9WRVIwUTBaUmMxbHVhamhNVG10eVpqRlRZVjlSVDFWWVdIZEphMDE2WWt4ZlRYWXlNMmxGYVRkZmRXNXNaR1p3WWxOM1JIUldXSEJrWWpCaFIwOTNha3BxV1hKVU9Xa3dVV3N3VGxReVNWWTVNelJGU2tJdFNIbEJXaTFpY1RWNFNrUXpOSE56Y1ZOSmVVVlBWVE52UVZCWlFYQlRRbXhOVlY5NGNtWkRYMmd5YUU1dFRYRXdkbDlNWjFsdVVtMURUM0ptVlVGaVNUbEdlWFZsT1U1UlMyNU5ZMGhDWWs4M1V6aElhVzVxV1daNGVEVnJORXR3WVhBdFkzaHZMWGt3TFUxR1JuWkNNVzlCUVUxNloyVlRTRFJ0V1RWeGNXVjFkbFowWjJwNmVYSkVObFV5UVdkcmRXRmhWaTF6UlRseVJsTkZhV28wTlc1bWFsRkhaeTFoV0RrdE5rMDBWV3B1UlhwNWRHRnpkbEJpV1ZWc1VHNDVRMkZ0T0hFdGIzUk5VMDF5YVRWeVYwVXlXR2hsVTAweU5VUkVaR3AyUkVsWFpUTXhjbGxKVkVGWFIybFpTVEZpY2tsb1gxa3RZa1JvVUU1WGFuSnhSR2xxWVdweVduZDJla2t5U1drdE9YWXRibk0wWldvNFlrb3labkF6YXpjME9XVnVRVkpvU0hVdFoxRmxNbXhPTmw5TFFWRjJSR0pIYVVaWlN5MHhXRXh0YUV4T2VtVlJTMWRoY1hobWIxOHdXWE4wUzNvdFJreHRRVjlEV1ZOSmJEWTNkVzFqVDNSZlYxaHdia0ozYjJSdE0xOUJXbE00VVRodWEyUmFaM1kwUzBrMk5tNTJkbVEyZUdkNVNXRm9WVWRLYldSdldsWlhOazl0TUMxdlZtUnhOazVIU0c1TVN6QldiRkJMWTJkNFpUUjJPVGRQV0d4TFNFaHBiRGhDTVVsemVqVTJZVk4yVG1wSmIybHpjMjh6Y3pJNVIxbHNNV1ZhZG0xRFYyWnhWRFpMYVRSU2RFTkVWMnRyUVVsVmQwNXJaMmhNWjBZd2JuSlZSblp3Tm0xcWRGZENZV1JWVDFWUlRGRkJMalE0VkdselZHNVpURFZ6UTJSV1pqZHZNSE5JVW1jLmdPSzVUdkxuMDB5NXRoMHF4dFJ4UWxyQ2ZVblpBUEN2b0hXYWlrRC1fX28iLCJleHAiOjE2ODQ1MjMzNjcsImlhdCI6MTY4NDUyMzA2N30.VZ77tKStN5MtxdSqDStVYOKGooeNV_Oe0Fls-G_9_tI", "callbacks": [{"type": "NameCallback", "output": [{"name": "prompt", "value": "User Name"}], "input": [{"name": "IDToken1", "value": "SpiderMan_on_idm_20230519183614"}], "_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": "wJc8d8xQC_gmqHlrwRcXKywQKXY.*AAJTSQACMDIAAlNLABxEN0k0RlcyUkpHS2F0cFVsSGZESU0zUWdlb1E9AAR0eXBlAANDVFMAAlMxAAIwMQ..*", "successUrl": "/am/console", "realm": "/" } ________________________________________________________________________________ [19/May/2023 19:04:28] 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 -H "Authorization: Bearer UXmnCudlfpsP7ssD9hnv5CVirJI" -H "Content-Type: application/json" --insecure -L -X DELETE "https://xlou.iam.xlou-cdm.engineeringpit.com/openidm/managed/user/68168594-bf89-4b9b-9c04-7121308ae458" [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 (32 lines): ----- output ----- { "_id": "68168594-bf89-4b9b-9c04-7121308ae458", "_rev": "c8b0dd6b-8463-44e3-bec0-506b7114b318-454", "country": null, "telephoneNumber": "6669876987", "mail": "SpiderMan_on_idm_20230519183614@forgerock.com", "memberOfOrgIDs": [], "city": null, "displayName": null, "effectiveAssignments": [], [...] "effectiveGroups": [], "preferences": null, "organizationName": null, "givenName": "Peter", "stateProvince": null, "userName": "SpiderMan_on_idm_20230519183614", "postalAddress": null, "effectiveRoles": [], "activateAccount": null } ________________________________________________________________________________ [19/May/2023 19:04:29] Validation_user_idm post : Post method ________________________________________________________________________________ Setting result to PASS Task has been successfully stopped