私はこの問題に7時間取り組んできましたが、まだわかりません。多分あなたの一人が私を助けることができます。
Omniauth を使用する Devise 1.2rc の OAuth 機能を Rails アプリケーションに統合しようとしているだけです。
- 私はDeviseのこのチュートリアルを使用しています:
https://github.com/plataformatec/devise/wiki/OmniAuth%3A-概要
私は彼らがあなたに言うことはすべてやりました...
はい、devise.rb に次の行を追加しました。
config.omniauth :facebook, "APP ID", "APP SECRET"
:omniauthable をユーザー モデルに追加し、チュートリアルで説明されているようにクラス関数も追加しました。
omniauth_callbacks コントローラーとコールバック関数を実装し、routes.rb で omniauth_callbacks コントローラーを指定しました。
「rake middleware」を実行すると、Omniauth ミドルウェアが一覧表示されます。
use OmniAuth::Strategies::Facebook
Devise は Git リポジトリの master ブランチから直接インストールしたので最新です
最新バージョンの Omniauth 1.2.0.beta5 をインストールしました。私のGemfileには次のように書かれています:
gem 'oa-oauth', '0.2.0.beta5', :require => 'omniauth/oauth'
明らかにサーバーを再起動しました
ただし、この URL をリクエストしようとすると、次のようになります。
http://localhost:3000/auth/facebook
it simply says
ActionController::RoutingError (No route matches "/auth/facebook"):
/user/auth/facebook も機能しません。
残念ながら、Omniauth と Devise の gem 全体を分解してコードのすべての行を理解する時間はありません。