のドキュメントomniauth-facebook
にはコールバックがたくさんあると書かれていますが、ドキュメント内にコールバックはありません。認証作業を行うためにコールバックを書く必要はありませんでした。omniauth-facebookとの統合でコールバックとは何ですか?
ドキュメント:たとえばhttps://github.com/plataformatec/devise/wiki/OmniAuth:-Overview
:
上記のリンクをクリックすることで、ユーザーは のFacebookにリダイレクトされます。 (このリンクが存在しない場合は、サーバーを再起動してください。) 資格情報を挿入すると、アプリケーションのコールバックメソッド にリダイレクトされます。
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
コールバック・コントローラは
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def facebook
@user = User.from_omniauth(request.env["omniauth.auth"])
if @user.persisted?
sign_in_and_redirect @user, :event => :authentication #this will throw if @user is not activated
set_flash_message(:notice, :success, :kind => "Facebook") if is_navigational_format?
else
session["devise.facebook_data"] = request.env["omniauth.auth"]
redirect_to new_user_registration_url
end
end
def failure
redirect_to root_path
end
end
は、私はここに明示的に記述されたコールバックが表示されていないので、私は舞台裏で起こって何かがあると仮定します。
私は一種の混乱している。しかし - 何がコールバックを実際にやっていると、コールバックは、このコードのどの部分ですか?事前に
謝罪これはスーパー初心者の質問である場合。
'コールバックハンドラ 'は、ユーザをリダイレクトするコードの一部を意味するだけですか? –
いいえ、Facebookは承認ダイアログの後にリダイレクトする通常のコントローラアクションです。 – max