私は自分のRails 5サイトでDevise認証をFacebookにしました。すべてのコードと設定はスタンダードです。RailsでOmniauth認証を一時的に無効にする方法は?
今は一時的に無効にします。私はuser_facebook_omniauth_authorize_path
への一時的なリダイレクトを呼び出しページに戻したいと思っています。「Facebookの許可は一時的にブロックされています」というフラッシュメッセージが表示されます。
しかし、私はそのようなリダイレクトを設定できるコントローラーは見つかりませんでした。または、コールバックを検索する必要がありますか?私はコンソールに私が見るuser_facebook_omniauth_authorize_path
をクリックすると
は2016-10-25T14 [、私は2016年10月25日 十四時21分39秒0300で127.0.0.1のために、 "/ユーザ/認証/ログインfacebook" GET開始しました:21:39.699171#23486] INFO - omniauth:(facebook)リクエストフェーズが開始されました。
コントローラは呼び出されません。どのようにリダイレクトを行うには?
は私が
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def facebook
.....
end
end
コントローラを持っている - しかし、それは、www.facebook.com要求後に呼び出される - 私は必要はありません前と同じように。
私はそれを試しましたが、 'ApplicationController'がこの認証シーケンスで呼び出されていないようです。 – prograils
'user_facebook_authorize_path'のパスは何ですか?それが 'facebook.com/.... 'の場合、あなたのコントローラでそれを傍受することはできません.JSを使って' onClick'イベントを傍受する必要があります。しかし、UIのfacebookボタンを無効にし、そのボタンの近くの説明を提示することをお勧めします。 –
パスは '/ users/auth/facebook'で、コントローラは' users/omniauth_callbacks#passthru'です。しかし実際には、 'users/omniauth_callbacks'コントローラの'パススルー 'アクションは、少なくともフェイスブックコールの前には呼び出されません。 – prograils