Coldfusion Vimeo oAuth - PullRequest
       34

Coldfusion Vimeo oAuth

3 голосов
/ 14 июля 2010

Эй, ребята, я пытаюсь выяснить процесс oAuth с помощью coldfusion, и на форумах не так много информации.

Я продолжаю получать «401 Unauthorized - Invalid подпись - Переданная oauth_signature была недействительной» Но я передаю правильную.

Вот мой процесс .::1005*

Я использую кодовую базу oauth от http://oauth.googlecode.com/svn/code/coldfusion/oauth

Используя там примеры для твиттера и гугла, я изменил его так, как показано ниже.

<cfset sConsumerKey = "XXX">
<cfset sConsumerSecret = "YYY"> 
<cfset sTokenEndpoint = "http://vimeo.com/oauth/request_token">

<cfset oReqSigMethodSHA = CreateObject("component", "oauth.oauthsignaturemethod_hmac_sha1")>
<cfset oToken = CreateObject("component", "oauth.oauthtoken").createEmptyToken()>
<cfset oConsumer = CreateObject("component", "oauth.oauthconsumer").init(sKey = sConsumerKey, sSecret = sConsumerSecret)>

<cfset myParams = structNew() />
<cfset myParams.oauth_callback = "http://XXX.XXX/web/oAuth/examples_external/vimeo2.cfm" />

<cfset oReq = CreateObject("component", "oauth.oauthrequest").fromConsumerAndToken(
oConsumer = oConsumer,
oToken = oToken,
sHttpMethod = "GET",
sHttpURL = sTokenEndpoint,
stParameters = myParams)>

<cfset oReq.signRequest(
oSignatureMethod = oReqSigMethodSHA,
oConsumer = oConsumer,
oToken = oToken)>

<cfhttp url="#oREQ.getString()#" method="get" result="tokenResponse"/>

Затем возвращается oauth_token & oauth_verifier.

<cfset sConsumerKey = "XXX"> 
<cfset sConsumerSecret = "YYY"> 
<cfset sAuthorizationEndpoint = "http://vimeo.com/oauth/access_token"> <!--- Authorize URL --->

<cfset oReqSigMethodSHA = CreateObject("component", "oauth.oauthsignaturemethod_hmac_sha1")>
<cfset oToken = CreateObject("component", "oauth.oauthtoken").createEmptyToken()>
<cfset oConsumer = CreateObject("component", "oauth.oauthconsumer").init(sKey = sConsumerKey, sSecret = sConsumerSecret)>

<cfset myParams = structNew() />
<cfset myParams.oauth_token = URL.oauth_token />
<cfset myParams.oauth_verifier = URL.oauth_verifier />
<cfset myParams.oauth_callback = "oob" />

<cfset oReq = CreateObject("component", "oauth.oauthrequest").fromConsumerAndToken(
oConsumer = oConsumer,
oToken = oToken,
sHttpMethod = "GET",
sHttpURL = sAuthorizationEndpoint ,
stParameters = myParams)>

<cfset oReq.signRequest(
oSignatureMethod = oReqSigMethodSHA,
oConsumer = oConsumer,
oToken = oToken)>

<cfhttp url="#oREQ.getString()#" method="get" result="tokenResponse"/>
<cfdump var="#tokenResponse#" />

И результаты cfhttp - это ошибка 401

1 Ответ

0 голосов
/ 14 июля 2010

Не зная ничего об API Vimeo, у меня возникла та же проблема с oAuth при попытке отправить данные через GET, когда требовался POST.

...