2011-02-10 19 views
1

Omniauthを使用して、ユーザーがFacebookを使用して自分のRailsアプリケーションにログインできるようにしています。 (コールバックエラー)が期待されていないとして、それが戻ってリダイレクトし、私はその後、ログアウトすることができる午前Rails 3 - Omniauthルーティングエラーはローカルでは動作しますが、私のサーバでは動作しません

<%= link_to "Sign in with Facebook", "/auth/facebook" %>

:ローカル、omniauth自動的に次のリンクを使用して、認証のためのFacebookにブラウザをリダイレクトします。

問題は、サーバーにアプリケーションをアップロードしようとすると発生します。何らかの理由でOmniauthが蹴られていないし、リダイレクトをしない。代わりに、それはちょうど私のアプリ(http://sharedchecklist.com/auth/facebook)における非existantディレクトリにブラウザをポイントし、このエラーを吐く:

Routing Error

No route matches "/auth/facebook"

私は」過去数時間にわたり多くの検索を行い、問題の内容を把握しました。私は、サイトとキャンバスのURLを自分のアプリのアドレスに変更するようにしました。コールバックの問題ではありません。それはほとんどomniauthようなものだ

がありません...

は、誰もが前に、この問題が発生しましたか?私はかなり新しいレールですが、これまでに何か問題があった場合、これを最も不快にさせることができました。

URLが役立つだろう場合は、ここにある:あなたが提供することができますどのような援助のためのhttp://sharedchecklist.com/

感謝。

答えて

0

あなたはどこにリダイレクトする必要がありますかFacebookに伝える必要があります。開発中であれば、おそらくあなたのサイトのURLは "http:// localhost:3000"に設定されています。それを "http://sharedchecklist.com"に変更すると動作します。もちろん、それから開発が中断されます。したがって、私はテストのためだけにlocalhostにリダイレクトされる新しい "Test" Facebookアプリケーションを作成しました。

+0

あなたの答えJasonとRaduに感謝します。私はこの問題を解決することができました。それは私のサーバーに問題があることが判明しました(それは、宝石がインストールされていることを表示していましたが、実際はそうではありませんでしたか?)。いずれにしても問題は解決されました。 –

0

これは、config/initializers/omniauth.rbが見つからない場合に発生します。

このファイルは無視リストにあり、サンプルファイルはomniauth.rb.sampleです。 omn​​iauth.rbファイルを作成するのを忘れて、同じエラーが発生していました。

0

は、ローカルホスト上でテストして取り組んで本番環境を維持したい場合のみ:開発目的のための新しいFacebookアプリを作成

1-

2〜サイトのURLフィールドを設定します。http://localhost:3000/

、3-続いて、次に合わせて/config/initializers/omniauth.rbファイルを編集します。

OmniAuth.config.logger = Rails.logger 

Rails.application.config.middleware.use OmniAuth::Builder do 
    if Rails.env.development? 
    OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE 
    provider :facebook, 'DEV_APP_ID', 'DEV_APP_SEVRET' 
    else 
    provider :facebook, 'DEPLOY_APP_ID', 'DEPLOY_APP_SECRET' 
    end 
end 

最後に0123を再起動とあなたはあなたの新しいアプリでログインできるはずです。

関連する問題