3

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 <Client Id>:<Client Secret> 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.

1 Answer 1

3

Easier way: - just record the call.

  1. Launch JMeter's HTTP(S) Test Script Recorder
  2. 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
Sign up to request clarification or add additional context in comments.

1 Comment

i try the harder way but.. {"error":"invalid_client","error_description":"Client Authentication failed."}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.