2013-05-24 1 views
4

그래서이 문제는 400을 http://www.tumblr.com/oauth/authorize?oauth_token=xxx에서 얻는 데있었습니다. this Google Chrome OAuth tutorial 페이지를 사용하고 거기에서 파일을 복사하십시오.Tumblr OAuth 인증 "oauth_verifier가 없거나 잘못되었습니다." 크롬 확장을위한 메시지 솔루션

그리고 하루가 지나면 내 광고 확장을 재 인증해야했습니다. 그리고 실패했습니다.

내가 콘솔에 도착했을 때 나는 400 HTTP 결과 코드와 메시지 Missing or invalid oauth_verifier.를 얻었다.

답변

9

1) 먼저 해결 : oauth_verifier은 어디에 있습니까?

앱을 승인 할 때 tumblr이 요청한 것을 보았습니다. 이 것이 http://www.tumblr.com/oauth/authorize?oauth_token=xxx입니다.

chrome-extension://jlaojpiafmimgibgdfbmphfkejnlifdn/chrome_ex_oauth.html?chromeexoauthcallback=true&oauth_token=XXX&oauth_verifier=dmbcbNDGj7QatrFznXG587RIM7wI1LG3bnKwYGy5tc2icmUVvE#_=_으로 리디렉션되었습니다.

확인 프로그램이 설치되어있는 이유는 무엇입니까? chrome_ex_oauth.js에는 현재 URL을 디코딩하고이 URL에서 매개 변수를 가져 오는 ChromeExOAuth.formDecode() 메서드가 있습니다.

그리고 거기 line 315 마법 검사가있다 : 당신이 볼 수 있듯이

var keyval = param.split("="); 
if (keyval.length == 2) { 

이 URL이 #_=_로 끝나는 이상한 일이다. 처음에는이 방법을 약간 수정하여이 부분을 oauth_verifier에서 제거하기로 결정했습니다.

2) oauth_verifier=dmbcbNDGj7QatrFznXG587RIM7wI1LG3bnKwYGy5tc2icmUVvE#_=_과 작동하지 않아서이 해시 태그를 완전히 자르고 다음을 얻었습니다. oauth_verifier=dmbcbNDGj7QatrFznXG587RIM7wI1LG3bnKwYGy5tc2icmUVvE이 작동하기 시작했습니다.

나를 위해 그것은 여전히 ​​질문입니다 : Tumblr이 따라야하는 리디렉션 URL 끝에이 해시 태그가 무엇입니까?


내 약간 변경된 방법은 다음과 같습니다

ChromeExOAuth.formDecode = function(encoded) { 
    // Cut hash at the end of the url. 
    var hash_index = encoded.indexOf('#'); 
    if (hash_index > -1) { 
    encoded = encoded.substring(0, hash_index); 
    } 

    var params = encoded.split("&"); 
    var decoded = {}; 
    for (var i = 0, param; param = params[i]; i++) { 
    var keyval = param.split("="); 
    if (keyval.length == 2) { 
     var key = ChromeExOAuth.fromRfc3986(keyval[0]); 
     var val = ChromeExOAuth.fromRfc3986(keyval[1]); 
     decoded[key] = val; 
    } 
    } 
    return decoded; 
}; 
+0

최고의 당신을 감사합니다! 내 iOS 응용 프로그램에서 정확한 문제가 발생했습니다. Tumblr API는 이상하게도 OAuth 1.0a 스펙을 따르지만, OAuth 1.0a 기반 API (즉, Twitter)와는 다른 점이 많습니다. – Supertecnoboff

+1

@Supertecnoboff 와우, 4 년 후에도이 버그가 어떻게 여전히 인상적입니까! :) – chestozo

+1

OAuth 2.0 하하로 업그레이드 한 방법이 인상적입니다. – Supertecnoboff

관련 문제