使用jsoauth javascript oauth库使用tumblr进行身份验证时出现401错误

时间:2012-10-16 03:02:21

标签: javascript oauth google-chrome-extension tumblr jsoauth

我正在为tumblr构建chrome扩展。我正在使用库jsoauth进行oauth部分,但是我收到了401错误。

确切的错误是,“oauth_signature [D6rDCSn / ClGhMyTq24 / c6419t8I =]与预期值不匹配[wnrVNhZYCSfRmKSTaKyb9dg7vNQ =]”

我不知道是什么导致了它。这是我的代码:

Background.html

<html>
    <script type="text/javascript" src="jsOAuth-1.3.6.min.js"></script>
    <script type="text/javascript" src="background.js"></script>
</html>

background.js

function getAccess(){
  var oauth, options;

    options = {
        consumerKey: 'KEY',
        consumerSecret: 'SECRET',
        requestTokenUrl: "http://www.tumblr.com/oauth/request_token",
        authorizationUrl: "http://www.tumblr.com/oauth/authorize",
        accessTokenUrl: "http://www.tumblr.com/oauth/access_token"
    };

    oauth = OAuth(options);

    oauth.fetchRequestToken(openAuthoriseWindow, failureHandler);

    function openAuthoriseWindow(url)
    {
        var wnd = window.open(url, 'authorise');
        oauth.setVerifier(false);
        oauth.fetchAccessToken(output,failureHandler);

        function output(url)
        {
            console.log("success!");
        }
    }

    function failureHandler(data)
    {
        console.error(data);
    }
}

chrome.extension.onMessage.addListener(
  function(request, sender, sendResponse) {
    if (request.greeting == "getAccess"){
      sendResponse({farewell: "It worked"});
      getAccess();
    }
});

1 个答案:

答案 0 :(得分:1)

虚假是作为oauth_verifier发送的错误。

Tumblr将您重定向到他们在文件中的oauth_callback,其中包含您需要在jsOAuth中插入.setVerifier的oauth_verifier。

Tumblr API文档在解释许多关于授权过程的过程中非常失误,但这就是我的看法。