そもそも僕の理解不足もあるんですけど、omniauthの実装例色々見てると
この部分無いの多い気がするんですがどうなんでしょう?
けっこうみんな普通に実装しちゃってるもんなんでしょうか?
確かにドキュメントにはちゃんと書いてあるんですが…
環境
- ruby 1.9.3p392
- Rails 3.2.11
- ominiauth 1.1.3
- omniauth-twitter 0.0.14
config/initializers/omniauth.rbに下記を追記
OmniAuth.config.on_failure = Proc.new { |env|
OmniAuth::FailureEndpoint.new(env).redirect_to_failure
}
app/controllers/sessions_controller.rbにコールバック時のメソッド追加
def failure
redirect_to root_url, alert: "Authentication failed."
end
config/routes.rbに追記
match "/auth/failure" => "sessions#failure"
参考
https://github.com/intridea/omniauth/issues/616
https://github.com/intridea/omniauth/wiki/FAQ