私のアプリケーションにOmniAuth(0.2.6)戦略を使用しようとしています。アーキテクチャはRails 2.3.10で、Rackのバージョンは1.1です(このバージョン以上はOmniAuthに必要です)。 Railsが "/ auth/provider"へのリダイレクトを認識しないという問題が発生しました。実際のエラーメッセージは "No route matches"/auth/casport "です。このエラーがスローされても、コードはこのエラーまでこのポイントまで実行されているようです:" request.env ['omniauth.auth'] "私はそれがenvハッシュの "omniauth.auth"キーを認識しないことを意味していると確信しています。OmniAuthが適切にロードされていないと感じました。MongrelとWebrickと同じ戦略とコードベースをテストしました。 、と私は同じエラーメッセージを取得ここでOmniAuthをRails 2で正しく使用する方法
は私のOmniAuthの初期化(設定/初期化子/ omniauth.rb)です。
ActionController::Dispatcher.middleware.use OmniAuth::Builder do
provider :casport, :setup => true
end
私は間違いなく、認証/ casport /セットアップおよび認証/ casportための場所でのルートを持っています/コールバック
0123設定/環境/ development.rbファイルにそのミドルウェア・コードを配置することによって、 How do you implement OmniAuth on Rails 2.2?config.middleware.use OmniAuth::Builder do
provider :casport, :setup => true
end
:
は、私はまた、このアプローチを試してみました。
誰かが私が間違ってやっていることについて考えている人はいますか?ありがとう!
編集:私もこのアプローチにHas anyone used omniauth with rails 2.3.8?
ActionController::Dispatcher.middleware.use OmniAuth::Strategies::Casport = {
:setup => true
}
を試みたし、それが読み取りエラーを返します:「NoMethodError:未定義のメソッド '新しい' #Hashのために...
編集2: OmniAuthがRails 2.3.4と互換性がないため、Rails 2.3.10にアップグレードしました。