22

ちょうど昨日、Heroku で、Twitter のログイン時にこのエラーが発生し始めました。

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)

なにか提案を?

4

12 に答える 12

22

YUHU解決しました。問題は、私のウェブサイトに www がある場合とない場合があったため、セッションに問題があったようです。

于 2012-07-03T08:47:35.150 に答える
4

Twitter アプリの設定で、次のフィールドに次の値が設定されていることを確認します。

ウェブサイト : http://127.0.0.1:3000

コールバック URL : http://127.0.0.1:3000/auth/twitter/callback

**ポート番号 3000 を使用しています。使用しているポートに変更できます。

次に、ブラウザでhttp://127.0.0.1:3000に移動します。これで問題が解決するはずです。

于 2015-07-30T06:01:29.697 に答える
3

これは完全にランダムであり、私はノードの初心者です...ので、ソルトを惜しみなく適用してください。

実際、今夜、このエラーと非常によく似たスタック トレースが表示されました。認証コールバックルートを次のように変更したばかりであることが判明しました。

app.use('/auth/twitter/callback', twitterCallback);

useの代わりに使用した方法を参照してくださいget。元に戻すと、このエラーが発生しなくなりました。

ただし、私のスタック トレースは少し異なって見えました。

DEBUG: Error: failed to find request token in session
     at Strategy.<anonymous> (/Users/drhayes/src/incursion/node_modules/passport-twitter/node_modules/passport-oauth/lib/passport-oauth/strategies/oauth.js:122:54)  
     at Strategy.authenticate (/Users/drhayes/src/incursion/node_modules/passport-twitter/lib/passport-twitter/strategy.js:82:40)  
     at Passport.authenticate (/Users/drhayes/src/incursion/node_modules/passport/lib/passport/middleware/authenticate.js:153:14)  
     at Object.handle (native)  
     at next (/Users/drhayes/src/incursion/node_modules/express/node_modules/connect/lib/http.js:204:15)  
     at /Users/drhayes/src/incursion/node_modules/passport/lib/passport/middleware/authenticate.js:99:9  
     at /Users/drhayes/src/incursion/node_modules/passport/lib/passport/http/request.js:46:7  
     at pass (/Users/drhayes/src/incursion/node_modules/passport/lib/passport/index.js:229:30)  
     at /Users/drhayes/src/incursion/node_modules/passport/lib/passport/index.js:237:36  
     at /Users/drhayes/src/incursion/routes/auth.coffee:42:14  

ソースは最近変更されましたか?デプロイされたスラッグにリビジョン バンプはありますか?

于 2012-06-21T06:36:19.350 に答える
2

私は同じ問題を抱えています。解決策は、http://127.0.0.1:3000/の代わりにhttp://localhost:3000を使用してサイトを取得することでした。リクエストが発生すると、すべてがうまく機能します。

于 2018-10-19T18:23:25.670 に答える
0

私はこれを一度持っていましたが、コールバックURLを変更して修正しました

127.0.0.1から

ローカルホスト

于 2016-02-06T23:56:52.177 に答える
0

私と同じ症状(リクエストトークンなし)ですが、ここで他の解決策を試しても解決しませんでした(secure: falselocalhostvs127.0.0.1など)

この問題は、使用中の不適切な Cookie 構成が原因であることがわかりましたcookie-session。私の場合、オプションに番号を渡していましたexpiresが、そのオプションには日付が必要です。maxAge数値を期待する代わりに使用するように切り替えました。

于 2019-11-05T21:22:46.680 に答える