Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

Nifi InvokeHTTP to get a token from an API

avatar
Contributor

I have curl command as below.

curl -s -XPOST -H "Accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -d 'username=usco&password=asdl2342&client_id=dwer234324-2sd2-32dwq&scope=read' 'https://rest.abc.com/security'

I am trying to replicate this in Nifi. I am trying to figure out how and where the above options to be provided in InvokeHTTP processor. I have gone through the articles and some mentioned I have to define it in body of flow file. But I couldn't understand what exactly goes into body and what goes into extra attributes (if I need to add) in InvokeHTTP processsor.

1 ACCEPTED SOLUTION

avatar

@RC

Here is what I think you should use to make this work:

-X POST use processor HTTP method attribute and set to POST
-x http://proxyhost:portI think you should consider adding this configuration or add properties Proxy host=proxyhost, Proxy port=port and Proxy protocol=https
-H "Accept: application/json"Use the Attributes to send referencing a new attribute with the value (add 1 extra attributes with corresponding value)
-H "Content-Type: application/x-www-form-urlencoded"Use Content type attribute
-d 'data sent'Send Message Body = true. And the content should come as inbound flowfile to the processor. To test try adding a GenerateFlowFile processor with the content without single quotes
https://hostname/security/v1/oauth/tokenSet in Remote url

Finally since endpoint is ssl enabled you need to set SSL Context Service.

HTH

*** If you found this answer addressed your question, please take a moment to login and click the "accept" link on the answer.

View solution in original post

11 REPLIES 11

avatar
New Contributor

Hi can you please help with this query, I am facing the same issue how did you resolve it.

avatar
Community Manager

@Bello as this is an older post, you would have a better chance of receiving a resolution by starting a new thread. This will also be an opportunity to provide details specific to your environment that could aid others in assisting you with a more accurate answer to your question. You can link this thread as a reference in your new post.



Regards,

Vidya Sargur,
Community Manager


Was your question answered? Make sure to mark the answer as the accepted solution.
If you find a reply useful, say thanks by clicking on the thumbs up button.
Learn more about the Cloudera Community: