首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Passport-twitter:在会话中找不到请求令牌

Passport-twitter:在会话中找不到请求令牌
EN

Stack Overflow用户
提问于 2012-06-18 07:33:44
回答 12查看 14.5K关注 0票数 22

就在昨天在Heroku上,我开始在twitter登录express时遇到这个错误。

代码语言:javascript
复制
Error: failed to find request token in session
    at Strategy.<anonymous> (/app/node_modules/passport-twitter/node_modules/passport-oauth/lib/passport-oauth/strategies/oauth.js:120:54)
    at Strategy.authenticate (/app/node_modules/passport-twitter/lib/passport-twitter/strategy.js:82:40)
    at Passport.authenticate (/app/node_modules/passport/lib/passport/middleware/authenticate.js:153:14)
    at callbacks (/app/node_modules/express/lib/router/index.js:272:11)
    at param (/app/node_modules/express/lib/router/index.js:246:11)
    at pass (/app/node_modules/express/lib/router/index.js:253:5)
    at Router._dispatch (/app/node_modules/express/lib/router/index.js:280:4)
    at Object.handle (/app/node_modules/express/lib/router/index.js:45:10)
    at Context.next (/app/node_modules/express/node_modules/connect/lib/http.js:204:15)
    at Context.<anonymous> (/app/node_modules/passport/lib/passport/context/http/actions.js:64:8)

有什么建议吗?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2012-07-03 16:47:35

玉湖我解决了。问题是,我的网站有时有www,有时没有,因此会话显然存在问题。

票数 22
EN

Stack Overflow用户

发布于 2014-05-12 21:24:22

我在使用Node.js,Express & Passport时也遇到了这个错误,尽管我的修复方法与上面描述的不同。

我从“express-session”文档中复制并粘贴了以下代码……

代码语言:javascript
复制
app.use(session({ secret: 'keyboard cat', key: 'sid', cookie: { secure: true }}))

https secure:true https位指示express-使用'https',我的开发环境中没有设置。一旦我删除了它,这个错误就消失了。

票数 13
EN

Stack Overflow用户

发布于 2017-04-05 07:21:03

这是一个非常晚的答案,但我只是想出了另一个可能发生的原因。当制作express-session的人说MemoryStore不适合生产时,他们是认真的。

如果你正在使用集群(pm2、永远或在Heroku上运行),那么基于内存的cookie存储就会有自己的一组问题。您经常会丢失或损坏cookie(因为在服务器端有两个或更多独立的进程,不共享公共内存)。

如果要在集群中运行Node应用程序,则需要使用Redis或一些DB支持的cookie存储

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

https://stackoverflow.com/questions/11075629

复制
相关文章

相似问题

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