5

最新のRailsCastに従って、Devise/OmniAuthを使用してTwitterログインを設定しようとしています。次のコールバックURLを使用して、Twitter開発者アプリを登録しましたmyiphere:port/users/auth/twitter

RailsCastのTまですべてをたどりましたが、Sign In With Twitterリンクをクリックするたびに、すぐにが表示されますOAuth::Unauthorized 401 Unauthorized on the myiphere:port/users/auth/twitter page

を使用してキーを正しく定義したと思いますexport TWITTER_CONSUMER_KEY=MYKEYINSERTEDHERE export TWITTWR_CONSUMER_SECRET=MYSECRETINSERTEDHERE rails server。私はインターネット上で見つけることができるほとんどすべての解決策を試しましたが、まったく役に立ちませんでした。ほとんどすべての答えは、ログインするとサイトに戻ることです。どのような種類のTwitter画面にもアクセスできず、/users/auth/twitterページの401エラーだけです。

4

5 に答える 5

17

これと同じ問題がありました。私の場合、APIキーは正しく設定されていましたが、Twitterの設定(https://dev.twitter.com/apps/)の[設定]タブでコールバックURLを設定していませんでした。

奇妙なことに、コールバックURLが有用な場所を指す必要があるようには見えません。Twitterは、その存在をある種のシグナルとして使用しているようです。

omn​​iauth-twitterが提供するデバッグ情報には、まだまだ足りないものがあります。

于 2012-10-03T22:00:45.597 に答える
3

イニシャライザDEVISE.RBからブラケットとENVを削除することで、動作するようになりました。

config.omniauth :twitter, "APP_ID", "APP_SECRET"

DEV Twitter設定で指定されたコールバック:

http://www.mysite.com/users/auth/twitter/callback

ルート内.rb

devise_for :users, controllers: {omniauth_callbacks: "omniauth_callbacks"}

私のログインリンク:

<%= link_to "Log in with Twitter", user_omniauth_authorize_path(:twitter) %>
于 2014-02-10T10:53:22.793 に答える
1

ここで私自身の質問に答えると、最初に追加しようとした方法ではなく、とTWITTER_CONSUMER_KEYの代わりに実際のキーを追加する必要があるようです。TWITTER_CONSUMER_SECRET私もそれぞれから削除しました、ENV[]それは助けになったかもしれないと思います。

于 2012-08-03T07:45:16.417 に答える
0

ビデオのように環境変数を使用するには、figarogemを追加する必要があります。リンクをクリックすると、それらを設定する方法が説明されます。

http://railsapps.github.io/rails-environment-variables.html

于 2013-08-05T21:35:26.207 に答える
0

私にとっての問題は、「このアプリケーションを使用してTwitterでサインインすることを許可する」がチェックされていないことでした(アプリページ>設定タブの下)

于 2013-12-13T00:35:27.973 に答える