Getting Basic Authentication to work with ColdFusion

无人久伴 提交于 2019-11-30 05:59:46

问题


I am trying to send an authenticated POST request using ColdFusion, but for some reason, the server is rejecting the request as unauthorized. I have verified that the credentials are correct.

<cfhttp url="https://api.juspay.in/order/create" method="POST"  
    username="320EABE1225D45E6B13DF5D3D2BBDB80" password="">
    <cfhttpparam name="amount" type="formField" value="10">
    <cfhttpparam name="order_id" type="formField" value="cfhttp_test_order_001">
    <cfhttpparam name="customer_id" type="formField" value="10">
    <cfhttpparam name="customer_email" type="formField" value="user@mail.com">
    <cfhttpparam name="customer_phone" type="formField" value="1122112211">
    <cfhttpparam name="description" type="formField" value="test">
</cfhttp>

Same thing works in curl. For instance

curl https://api.juspay.in/order/create \
    -u 320EABE1225D45E6B13DF5D3D2BBDB80: \
    -d "amount=10" \
    -d "order_id=curl_test_order_001" \
    -d "customer_id=10" \
    -d "customer_email=user@mail.com" \
    -d "customer_phone=1122112211" \
    -d "description=test" 

The above curl command return HTTP 200 which is what I am trying to achieve. I am unable to figure out what I am missing in the ColdFusion code.


回答1:


The following actually worked. Please consider this answered:

<cfhttp method="post" url="https://api.juspay.in/order/create" result="result">
    <cfhttpparam type="header" name="Authorization" value="Basic #ToBase64("320EABE1225D45E6B13DF5D3D2BBDB80:")#" />
    <cfhttpparam type="formfield" name="amount" value="10" />
</cfhttp>


来源:https://stackoverflow.com/questions/24933746/getting-basic-authentication-to-work-with-coldfusion

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!