- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试在 NodeJS 上使用 OAuth 进行身份验证,但出现此错误:
Error getting OAuth request token : { statusCode: 401, data: '\n\n Desktop applications only support the oauth_callback value \'oob\'\n /oauth/request_token\n\n' }
这是我的代码 (server.js)
var express = require('express');
var util = require('util');
var oauth = require('oauth');
var app = express.createServer();
// Get your credentials here: https://dev.twitter.com/apps
var _twitterConsumerKey = "1";
var _twitterConsumerSecret = "2";
var consumer = new oauth.OAuth(
"https://twitter.com/oauth/request_token", "https://twitter.com/oauth/access_token",
_twitterConsumerKey, _twitterConsumerSecret, "1.0A", "http://127.0.0.1:8080/sessions/callback", "HMAC-SHA1");
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
app.use(express.logger());
app.use(express.cookieParser());
app.use(express.session({ secret: "very secret" }));
app.use(function(req, res, next) {
res.locals.user = req.session.user;
next();
});
});
app.get('/sessions/connect', function(req, res){
consumer.getOAuthRequestToken(function(error, oauthToken, oauthTokenSecret, results){
if (error) {
res.send("Error getting OAuth request token : " + util.inspect(error), 500);
} else {
req.session.oauthRequestToken = oauthToken;
req.session.oauthRequestTokenSecret = oauthTokenSecret;
res.redirect("https://twitter.com/oauth/authorize?oauth_token="+req.session.oauthRequestToken);
}
});
});
app.get('/sessions/callback', function(req, res){
util.puts(">>"+req.session.oauthRequestToken);
util.puts(">>"+req.session.oauthRequestTokenSecret);
util.puts(">>"+req.query.oauth_verifier);
consumer.getOAuthAccessToken(req.session.oauthRequestToken, req.session.oauthRequestTokenSecret, req.query.oauth_verifier, function(error, oauthAccessToken, oauthAccessTokenSecret, results) {
if (error) {
res.send("Error getting OAuth access token : " + util.inspect(error) + "["+oauthAccessToken+"]"+ "["+oauthAccessTokenSecret+"]"+ "["+util.inspect(results)+"]", 500);
} else {
req.session.oauthAccessToken = oauthAccessToken;
req.session.oauthAccessTokenSecret = oauthAccessTokenSecret;
res.redirect('/home');
}
});
});
app.get('/home', function(req, res){
consumer.get("http://twitter.com/account/verify_credentials.json", req.session.oauthAccessToken, req.session.oauthAccessTokenSecret, function (error, data, response) {
if (error) {
res.redirect('/sessions/connect');
// res.send("Error getting twitter screen name : " + util.inspect(error), 500);
} else {
var parsedData = JSON.parse(data);
// req.session.twitterScreenName = response.screen_name;
res.send('You are signed in: ' + parsedData.screen_name);
}
});
});
app.get('*', function(req, res){
res.redirect('/home');
});
app.listen(8080);
提前致谢。
最佳答案
填写您的 Twitter 设置开发帐户中的“回调 URL”字段。
关于javascript - 桌面应用仅支持 oauth_callback 值 'oob'/oauth/request_token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21170531/
我正在尝试在我的 ASP.NET 站点上进行 Twitter 身份验证。当你在 Twitter 网站上创建应用程序时,你必须指定一个回调 URL,为了论证,我设置为 http://mydomain.c
我创建了一个 Twitter 应用程序,我需要我的 Android 应用程序的用户授权其使用。我现在可以在浏览器中调用 Twitter 应用程序页面并成功授权。但是,回调似乎不起作用,我最终在浏览器中
我只是尝试使用 LinkedIn 登录。根据 LinkedIn 他们正在使用 OAuth 1.0a,这意味着我应该在获取请求 token 时发送 oauth_callback 参数。这是我在下面生成的
我的问题是我在尝试从 Yahoo 获取请求 token 时遇到错误。错误说我缺少 oauth_callback 参数,是的,我想念它是因为我不需要它。我读过,如果我不想使用它(桌面应用程序),我需要将
我知道 this question ,不过好像还是有这个问题,我用过 https://trello.com/1/appKey/generate 生成我的 key 和 secret ,并将它们填写到 s
我正在使用 Twython作为我的 Twitter API 包装器,和 oauth2 来处理身份验证。我正在尝试通过 twitter 使用登录,然后在 oauth 舞蹈之后将他重定向到动态生成的 oa
我正在尝试在 NodeJS 上使用 OAuth 进行身份验证,但出现此错误: Error getting OAuth request token : { statusCode: 401, data:
Twitter 最近刚刚强制执行以下内容: 1) 您必须将 oauth_callback 值传递给 oauth/request_token。这不是可选的。即使您已经在 dev.twitter.com
所以我目前正在尝试通过使用 OAuthSwift 来获得 Twitter 的授权。插件我试图让它与 OAuth1 和 OAuth2 一起工作,但都失败了,并且出现了不同的错误/问题。 所以对于 OAu
我是一名优秀的程序员,十分优秀!