1

私のアプリでOmniauthとFb_graphの宝石を使用しています。OmniAuthでコールバックの動作が異なる

私は上の2つの異なるアクションを実行したい:

1)のFacebookを使用してサインアップ - 認証が存在する場合> - Facebookの友達の検索)私は、認証を作成してのroot_pathに

2をリダイレクトOmniauthの使用> fb_graphを使って友達を探す。それが存在しない場合は、omniauthで認証を作成してからfb_friends_pathにリダイレクトしてください。

Omniauthを使用して認証した後、どのようにしてコールバックを異ならせることができますか? (最初はroot_pathにリダイレクトしたいが、2番目のケースでは認証が存在しなければfb_friends_pathにリダイレクトしたい)

ありがとう!

答えて

1

railsを使用していると仮定すると、auth_requiredという名前のフィルタを設定して、そのユーザが過去に設定権限を持っているかどうかを確認します。おそらくoauthトークンを保存しています。場所:fb_friends_pathに対応するアクションの前にauth_requiredがあります。権限設定がない場合は、ユーザーの意図(希望するURL)をセッションに保存します。

コールバックでは、格納されたインテントがリダイレクトされて削除されている場合は、omniauth用にセットアップしています。それ以外の場合は、サインアップしてルートパスに送信すると仮定します。

関連する問題