jmeter icon indicating copy to clipboard operation
jmeter copied to clipboard

problem decoding url with some characters

Open abanghendri opened this issue 1 year ago • 3 comments

Expected behavior

expected decoded URL is a valid URL like this

https://lti.mydomain.com/launch
?client_id=Zk4vTsTYCjM22nt
&login_hint=2
&nonce=2c94613d-10bd-4cb3-94dc-217e31345a7b
&state=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6InhkZW0tbHRpLUVUN1JVVzlQbzJtaW12b3gzOTFQIn0.eyJzdWIiOiIyIiwiaXNzIjoiaHR0cHM6Ly9sdGkueGRlbWlhLmxvY2FsIiwiYXVkIjoiaHR0cHM6Ly9tb29kbGUubG9jYWwiLCJub25jZSI6IjExZjkyNjNmLWM2ZjAtNDcwMy05MjNlLTg3YTVjYzgyZGI3ZSIsInBhcmFtZXRlcnMiOnsiaXNzIjoiaHR0cHM6Ly9tb29kbGUubG9jYWwiLCJ0YXJnZXRfbGlua191cmkiOiJodHRwczovL2x0aS54ZGVtaWEubG9jYWwvbGF1bmNoIiwibG9naW5faGludCI6IjIiLCJsdGlfbWVzc2FnZV9oaW50Ijoie1wiY21pZFwiOjEwNCxcImxhdW5jaGlkXCI6XCJsdGlsYXVuY2gzMV81ODgwMjM0NjZcIn0iLCJjbGllbnRfaWQiOiJaazR2VHNUWUNqTTIybnQiLCJsdGlfZGVwbG95bWVudF9pZCI6IjEzIn0sImp0aSI6Ijk2NGExMTJmLWE0YWQtNGY4ZC1hMjM0LWIxMDg3ZjdjM2YzMyIsImlhdCI6MTcwMTkzOTQzMS42NzExMzQsIm5iZiI6MTcwMTkzOTQzMS42NzExMzQsImV4cCI6MTcwMTk0MDAzMS42NzExMzR9.I02DOGUhN6GbHijQiNTG9MUv0tmvTnBodw87WFlC2t2wX2rHOGEvFR5qdE9PhGkxbLuT4hKwU3H4OhwxjpmKljjETCiZLuL3mQVUdrBqm9SbgVWs5zgqjI4zfL6at5r7SKQPe28ys_PNS7zuxBrHzOa0bGNO9TkhwoOEyImc0nMwLSaCJZsbN63eRMRv8hqxvXmmXB9WsjDUckqTB4Jk9si16_vDXOfTpZ9GIOAVzIjzwCmEOKgclnaXF1AOavNnA5kU9olUsAHNA7hm7fIeZB0Z4jAUBP6Orb56QcxNQeW92oGEfaU7TS4gBzVmaeBU7YrGYi2C7By5ImiaImLbIrVV9JIMmaLgTyH00GcmpyA0HF3i9nBznGSU6rC543QecJsvn6lnM2BSdN_oP2jRGBkDGn6kkPbkfmWB8P06Ssmt4Hl4cCPnzV4CaDhw8oDcasl3dLTvF1j2tXkdd0BpFWOPPo5XvA6QuS5G3s2PRM8QAnjp9i1l9jA8N4qlAkbTdPUShufgdb33_hubAZEHfb3LvsRvCuCVnI9HKcELVwxguyyH-KV6fdZEj5w91fBL6_IiAjqekvoeDohXQNQ5m5goBBZfFMMnJseQOprMnvacdGymWdFPyCTNVxu1-jCX7BuMvth5S4tG5exa8m8xtaV1FdMwcQeiodj_hn5_wRE
&lti_message_hint=%7B%22cmid%22%3A104%2C%22launchid%22%3A%22ltilaunch31_588023466%22%7D
&scope=openid
&response_type=id_token
&response_mode=form_post
&prompt=none

Actual behavior

decode url still leave & and curly brackets like this

https://lti.mydomain.com/launch&client_id=A9zCoN379eDfRR8&login_hint=2&nonce=e6b64a75-99dc-4366-b632-287fa3ad7baa&state=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6InhkZW0tbHRpLXVUMTA5YlFVbGFiTG40ZGJaY2w2In0.eyJzdWIiOiIyIiwiaXNzIjoiaHR0cHM6Ly9sdGktc3RhZ2luZy54ZGVtaWEuY29tIiwiYXVkIjoiaHR0cHM6Ly9hZG1pbi5kZXY4Lm5vdmltaXguY29tIiwibm9uY2UiOiJkN2MxOGQyNi0zMDg4LTQzN2YtYWU4Ni00NzA3NDdkYWRkOTMiLCJwYXJhbWV0ZXJzIjp7ImlzcyI6Imh0dHBzOi8vYWRtaW4uZGV2OC5ub3ZpbWl4LmNvbSIsInRhcmdldF9saW5rX3VyaSI6Imh0dHBzOi8vbHRpLXN0YWdpbmcueGRlbWlhLmNvbS9sYXVuY2giLCJsb2dpbl9oaW50IjoiMiIsImx0aV9tZXNzYWdlX2hpbnQiOiJ7XCJjbWlkXCI6MzA5MixcImxhdW5jaGlkXCI6XCJsdGlsYXVuY2gzXzcwOTMwMzJcIn0iLCJjbGllbnRfaWQiOiJBOXpDb04zNzllRGZSUjgiLCJsdGlfZGVwbG95bWVudF9pZCI6IjIifSwianRpIjoiN2VmZTlmZDUtYzg4OC00YzllLTg1MWQtZjY3YWIzNjc5YTVjIiwiaWF0IjoxNzAyMDIwMTcxLjM5ODI0NCwibmJmIjoxNzAyMDIwMTcxLjM5ODI0NCwiZXhwIjoxNzAyMDIwNzcxLjM5ODI0NH0.rhPbMTCfD7vJtqef95DD5Wmzi3ydiO_ysejWLB0EXuAyumZXnfa8ngMOgIN8YBhT9rvi1Tq0n_vCdWuZ8E8TV7vCMvyQa00ilwzIrF0YRZDlkWV8sAdmZ4J7ruN6WAQE1c3tL8MpWjkdce9ozj1pwYZDiE3pWMVJ9eqa5RAMa83UwVSCLW15mwTGLjqbSlWZZS1XpTj3XwhaNZyVFbcOepsLogTvr0eziZRJSMCQDGATgJKjZZk1RtBOY-4uJl3dmDw1O8olwnCWQZmIcXgRWwoFfCUBmY76hzmTkIZIevQ-Ktr5VctsEth-2o2jvXeLdgY6DVw4ARI3muCQZCTX9cSzCRxum-2Fe42VeYC8RBaHWz4iHEBzkhgZvn1yBC3fgoYDYGmGn4-Fv_w1YkkdBxSNFp3az50qv32VgDezuq9VioOpctQif2lxQES1WjqgWL2Gt-ReL9cASAyCBnjDks0kqVlekwg6fiOBCiy3TuqExwS8i1zQW4gjSgWvbbDlFp_vVaY2MdzXI3A9uXaDQWbcON4KUFGMNMXZp0Pe2NuOaOUV40ap3rlHBAJ1ODGWefOcG5gK3ThOEwe46qGaKaxY8ZUjVPlWuL3FcuowhoQ-XPbq3ZQ_S1hW2WwQ1sl1zGWCGaB2YjECSGbgOOwCQbaSOFXUi6A-526ukb-jZHo&lti_message_hint={"cmid":3092,"launchid":"ltilaunch3_7093032"}&scope=openid&response_type=id_token&response_mode=form_post&prompt=none

Steps to reproduce the problem

I am building LTI tool and testing OIDC flow, I extract redirect URL that come from LTI platform (I use moodle), and I got this url:

https%3A%2F%2Flti.mydomain.com%2Flaunch&client_id=A9zCoN379eDfRR8&login_hint=2&nonce=2761b1a3-2b0d-470a-a20c-b641297940b7&state=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6InhkZW0tbHRpLXVUMTA5YlFVbGFiTG40ZGJaY2w2In0.eyJzdWIiOiIyIiwiaXNzIjoiaHR0cHM6Ly9sdGktc3RhZ2luZy54ZGVtaWEuY29tIiwiYXVkIjoiaHR0cHM6Ly9hZG1pbi5kZXY4Lm5vdmltaXguY29tIiwibm9uY2UiOiI4ZmMxODMwYi0xNDg5LTQ4MWUtOTA4My03MDQxYjIyMmQyM2IiLCJwYXJhbWV0ZXJzIjp7ImlzcyI6Imh0dHBzOi8vYWRtaW4uZGV2OC5ub3ZpbWl4LmNvbSIsInRhcmdldF9saW5rX3VyaSI6Imh0dHBzOi8vbHRpLXN0YWdpbmcueGRlbWlhLmNvbS9sYXVuY2giLCJsb2dpbl9oaW50IjoiMiIsImx0aV9tZXNzYWdlX2hpbnQiOiJ7XCJjbWlkXCI6MzA5MixcImxhdW5jaGlkXCI6XCJsdGlsYXVuY2gzXzE1NTEwMlwifSIsImNsaWVudF9pZCI6IkE5ekNvTjM3OWVEZlJSOCIsImx0aV9kZXBsb3ltZW50X2lkIjoiMiJ9LCJqdGkiOiJiYTFkNGQ2My1hNGNiLTRkMDMtOTgzZi05YjY0YjdiM2JkZmQiLCJpYXQiOjE3MDIwMjAxODAuNzkwNzY0LCJuYmYiOjE3MDIwMjAxODAuNzkwNzY0LCJleHAiOjE3MDIwMjA3ODAuNzkwNzY0fQ.iPfcCAB7MNfzSctggpc92YIkHCN7A-3UESg2YQZRhY5t3WhHerkCrsZ0dNQzTa1Ew4QcEwfE-4MCjNFXOuZIMF7DgfKA4d_JIIYD6Og9lf9yY1kYsvRutOu7jNdecxizPP0yHBP9twdTFjB226C47QuTohDxR8WcHpzBRxAH2fxNXZKZw673DvI7MsCVxa9DsXUUb4UgUQVi2qvXjplwhR9wKmS0jicbUgFVkIPHcySTd61J1I6biFwOVFJ-Rv8na_9997vlktG1pMQFDHvMf8K-yvd-PoYFShMAyvoA1HS2RDP_oInnZyvh-09qJAFAhiDwkDLHEOXMaG7_jvsvp5Cl6AXD4rZEOjmYEopE3NOuNISB4NKyDRt5ExvWSZbKhFHBrdcWlkP0Zdrr8cN7CgTnq1ewsiGRz_Mra7vhZTKeUgD1piT8HxrHtYNUubL_QHt-g7jRnYmH0_8gg83vqCrN9_T6InAUinEqXKyiAHGaI7Uh793knZLYKbc9ZNOBtzlNQLG300H8aTxhZjOHrmLVs_9jQE4QPt_hnDL0x77BBvP_v1epn8Gn-mkZ5fF6h78QhsGIF6-ckiEw7jTyOqceXJa9VmBpWVbiXwZ0N-M33M-qf2zL2tNrPm-ilD6rTA31ZB24TbDh9bUQ9Q5Rp1TEkvkxDPkVQNKTNII43DQ&lti_message_hint=%7B%22cmid%22%3A3092%2C%22launchid%22%3A%22ltilaunch3_155102%22%7D&scope=openid&response_type=id_token&response_mode=form_post&prompt=none

place the url on variable "tool_url", on the path use ${__urldecode(${tool_url})}, run the test then see the result and go to Response tab, you will see java.net.URISyntaxException: Illegal character in path at index, then change to Request tab, now you see invalid given URL that decoded from above url

JMeter Version

5.6.2

Java Version

openjdk version "11.0.21" 2023-10-17

OS Version

Ubuntu 22.04.3 LTS (Jammy Jellyfish)

abanghendri avatar Dec 08 '23 08:12 abanghendri

Please provide exact reproducer

vlsi avatar Dec 08 '23 08:12 vlsi

I've updated my case @vlsi , thank you.

abanghendri avatar Dec 08 '23 08:12 abanghendri

Please provide JMX as it would make it much easier to reproduce and analyze the issue.

vlsi avatar Dec 08 '23 08:12 vlsi