ColdFusion oAuth消费者反对PHP万神殿网站

ColdFusion oAuth消费者反对PHP万神殿网站,oauth,coldfusion,pantheon,Oauth,Coldfusion,Pantheon,我是一名oAuth新手,正在努力在ColdFusion中针对使用万神殿oAuth库的PHP站点实现一个简单的oAuth使用者。下面的curl脚本工作得很好,并返回我需要的JSON curl-X POST-i-H“内容类型:application/json”-c cookies.txt-X d后 “{”用户名“:”我的用户“,”密码“:”我的密码“}” 我的问题是如何在ColdFusion中实现这一点,将响应的JSON返回到可以解析的变量中 谢谢你的帮助 本 更新5/3/13 好的,我试着转换卷

我是一名oAuth新手,正在努力在ColdFusion中针对使用万神殿oAuth库的PHP站点实现一个简单的oAuth使用者。下面的curl脚本工作得很好,并返回我需要的JSON

curl-X POST-i-H“内容类型:application/json”-c cookies.txt-X d后 “{”用户名“:”我的用户“,”密码“:”我的密码“}”

我的问题是如何在ColdFusion中实现这一点,将响应的JSON返回到可以解析的变量中

谢谢你的帮助


更新5/3/13

好的,我试着转换卷曲线,并且越来越近了-我做了如下操作:

<cfset mydata = serializejson('{"username":"myuser","password":"mypass"}')>

<cfhttp url="https://example.org/service/user/login" method="post" >
    <cfhttpparam type="header" name="Content-type" value="application/json" > 
    <cfhttpparam type="header" name="oauth_consumer_key"  value="mykey" > 
    <cfhttpparam type="body" value='#mydata#' >
    <cfhttpparam name="cookies.txt" type="cookie" value="" > 
</cfhttp>

然而,我仍然得到一个否定的响应——但这似乎是因为我没有正确地传递cURL脚本中“-d”子句中的值。有什么想法吗

再次感谢


最新更新: 尝试了这两种方法都没有效果-我还删除了cookie行:

<cfset mydata = '{"username":"myuser","password":"mypass"}'>
<cfset mydata = serializejson('{"username=myuser","password=mypass"}')>


东部时间3:20

抱歉-根据您对以下内容的评论进行了更正-但仍然不走运:

<cfset myData = serializeJSON({username="user",password="pass"})>

调试cURL post的好主意-我想出来了。这只是关于头的问题——数据被正确地传递了

创建JSON后,下面是CFHTTP调用:

<cfhttp url="https://mydomain.org/service/user/login?oauth_consumer_key=myKeyHere" method="post" >
    <cfhttpparam type="header" name="Content-type" value="application/json" > 
    <cfhttpparam type="header" name="Accept" value="*/*" > 
    <cfhttpparam type="body" value="#mydata#" >
</cfhttp>


很好用-感谢Leigh帮我想清楚这一点

它看起来像是一个简单的POST请求,因此等效于ie
内容类型
正文
中抛出的一些。首先看一看下面的例子。翻译选项ie
-X,-i,-H,-d
,看看你能走多远。如果遇到问题,请用您的代码发回。谢谢Leigh-对approach I工具有什么想法吗?值字符串看起来不合适。您正在使用的输入字符串已经是json格式。因此,将其包装在
JSON
中会损坏它。我怀疑您是想使用CF的隐式结构表示法。注意使用
=
代替
。ie
此外,我不认为cfhttp中有“cookies”的直接翻译。所以我现在省略这个参数。好吧-我删除了cookie行,并尝试了这两个都没有用-还有其他想法吗?我真的被卡住了——谢谢很高兴你找到了答案,感谢你发布了解决方案:)