I need to implement a jmeter script from this cURL command:
curl -X POST -u "Oezvjl4Ffju8Y0sLTXwfTuUHyHMa:vwe7v7AaontzlOfiefCRjrYWpUwa"
-H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8"
-d "grant_type=urn:ietf:params:oauth:grant-type:saml2-bearer&assertion=PD94bWwgd...."
-k https://$host/oauth2/token
The -u flag should specify the : value. The assertion parameter should specify the base64url encoded SAML2.0 assertion.
How do I value the parameter -u and -d in jmeter request?
I try using HTTP Header Manager as below:
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
client_id: Oezvjl4Ffju8Y0sLTXwfTuUHyHMa
code: vwe7v7AaontzlOfiefCRjrYWpUwa
and I put grant_type=... in the body data of http post request.. but it doesn't work.
解决方案
Easier way: - just record the call.
In shell:
export http_proxy=http://localhost:8080/
curl .......
Captured request will be under Recording Controller.
Harder way: - if you want complete control
JMeter equivalent will look as follows:
HTTP Request Configuration:
Server Name or IP: $host
Protocol: https
Method: POST
Content encoding: UTF-8
Path: /oauth2/token
Body data: grant_type=urn:ietf:params:oauth:grant-type:saml2-bearer&assertion=PD94bWwgd....
HTTP Header Manager Configuration:
Name: Authorization
Value: Basic T2V6dmpsNEZmanU4WTBzTFRYd2ZUdVVIeUhNYTp2d2U3djdBYW9udHpsT2ZpZWZDUmpyWVdwVXdh