首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >401 (未经授权)仅在释放模式下。调试,一切都很完美!为什么?

401 (未经授权)仅在释放模式下。调试,一切都很完美!为什么?
EN

Stack Overflow用户
提问于 2012-01-14 02:27:54
回答 1查看 698关注 0票数 0

我正在为Google Chrome创建一个扩展,在Twitter上进行身份验证时遇到了问题。

此扩展以this link格式发布:

如你所见,我也在使用Dropbox API (它也适用于OAuth 1.0),它工作得很好!

要使用OAuth,请使用this link上提供的一个名为jsOAuth的库。

当用户点击"Twitter“时,会出现一个窗口(弹出窗口),显示为​​authentic:

代码语言:javascript
复制
//Request Windows token
chrome.windows.create({url: url, type:"popup"}, function(win){
    chrome.tabs.executeScript(win.tabs[0].id, { file: "/scripts/jquery-1.7.1.min.js" }, function() {
        chrome.tabs.executeScript(win.tabs[0].id, { file: "/scripts/querystring-0.9.0-min.js" }, function() {
            chrome.tabs.executeScript(this.args[0], { file: "/scripts/services/TwitterPage.js" });
        });
    });
});

url = _https://api.twitter.com/oauth/authorize?oauth_token=XXX&oauth_token_secret=YYY&oauth_callback_confirmed=true_

TwitterPage.js代码

代码语言:javascript
复制
$(document).ready(function() {
    $("#allow").click(function(){
        var token = $.QueryString("oauth_token");
        var secret = $.QueryString("oauth_token_secret");

        var data = { oauth_token: token, oauth_secret: secret };
        chrome.extension.sendRequest(data);
    });
});

然后将显示身份验证窗口

完整链接:http://i.imgur.com/tikh4.png

正如您在上面的代码中所看到的,向我的扩展发送了一个请求。以下是捕获此请求的代码:

代码语言:javascript
复制
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    chrome.windows.remove(sender.tab.windowId, fetchAccessToken);
});

fetchAccessToken函数:

代码语言:javascript
复制
fetchAccessToken = function() {
    oauthObj.fetchAccessToken(function(){
            console.log("This code is only executed when debug step by step")
        }, failureHandler);
}

查看控制台,将显示错误:GET https://api.twitter.com/oauth/access_token 401 (Unauthorized)

完整图像:http://i.stack.imgur.com/8MgNw.png

问题

怎么啦?

分步调试,认证成功!?!为什么?

EN

回答 1

Stack Overflow用户

发布于 2012-01-14 12:37:02

GET /oauth/access_token被请求了两次。一个成功,另一个失败,因为request_token只有一次有效,所以它可能正在获取401。如果您阻止它执行两次,它应该是好的。

顺便说一句,即使在获取access_token的同时,也包含了oauth_callback。这不是首选。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8855387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档