gpt4 book ai didi

javascript - Passport -推特策略问题

转载 作者:行者123 更新时间:2023-11-30 10:08:08 27 4
gpt4 key购买 nike

我有一个用 Koa 在 Node 中编写的应用程序。我使用 passport 进行身份验证,使用 passport-twitter 进行 twitter oauth,使用 koa-passport 使其与 Koa 一起使用。直到最近,登录的一切都运行良好。我开始吸引 friend 对 github 的一些兴趣,当我试图让新人参与这个项目时,人们开始遇到无法登录和收到此消息的问题:

Whoa there! There is no request token for this page. That's the special key we need from applications asking to use your Twitter account. Please go back to the site or application that sent you here and try again; it was probably just a mistake.

奇怪的是,我的生产服务器与存储库保持同步,并且那里的登录工作正常。我的两台本地计算机上的登录也可以正常工作。当我从我的笔记本电脑中完全删除该项目并再次将其关闭时,它也开始出现问题。

这是我的 auth.js 中的代码

var passport = require('koa-passport');
var settings = require('./settings');
var Promise = require('../plugins/base/common').Promise;
var config = require('../config.json');

passport.serializeUser(function(user, done) {
done(null, user)
})

passport.deserializeUser(function(user, done) {
done(null, user)
})

if (process.env.NODE_ENV == "production"){
var domainStr = "http://productionurl.com";
}else{
var domainStr = "http://127.0.0.1:3000";
}

var TwitterStrategy = require('passport-twitter').Strategy
passport.use(new TwitterStrategy({
consumerKey: config.app.data.passport_twitter.consumerKey,
consumerSecret: config.app.data.passport_twitter.consumerSecret,
callbackURL: domainStr + '/auth/twitter/callback'
},
Promise.coroutine(function * (token, tokenSecret, profile, done) {
user = yield settings.createUser(profile, "twitter");
done(null, user);
})

))

我在生产环境和本地对 npm list 进行了比较,试图让它们匹配,即使它们匹配,我的笔记本电脑也会出现这个错误。

我检查了我的时钟,没错,所以我完全没有想法。

完整代码在这里:http://github.com/snollygolly/bloodhound

提前致谢。 :)

最佳答案

我们终于弄清楚了这个问题。

Koa 的网站说要执行 n 0.11,它正在加载 n 0.11.15

不幸的是, Passport 或 koa-passport 中的某些内容不适用于该版本。恢复到 n 0.11.14 可解决问题。

关于javascript - Passport -推特策略问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28080018/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com