1

私は完全に新しい Rails と Facebook のアプリを立ち上げ、このガイドに従って書きました。

ユーザーが作成され、認証後にリダイレクトの current_user になることもわかりますが、それは持続しません。別のコントローラー アクションを実行するとすぐに、もう一度リダイレクトされ、サインインする必要があると表示されます。

コードのいずれかが役立つと思われる場合は投稿しますが、私のコードとこの wiki ( https://github.com/plataformatec/devise/wiki/OmniAuth%3a-Overview ) で表示されるものとの唯一の違いは次のとおりです。 puts ステートメントは、フィルターとメソッドの前に配置されます。

omn​​iauthable を使用した devise がどのように機能するかは 100% わかりませんが、そのself.find_for_facebook_oauthメソッドでは current_user を 2 番目の引数として取り、メソッドでそれを使用しないことに気付きました。さらに、他の認証ソリューションとは異なり、devise がこれを処理することになっていると思いますが、既存のユーザーセッションをどこでもチェックしているとは思いません。

編集

私は今、信じられないほど間違っていることがあると確信していomniauthableます。私はちょうど私のOmniauthCallbacksController

def facebook
  sign_in_and_redirect :user, User.first
end

基本的に、これは情報に関係なく最初のユーザーをログインさせるだけです。Welcomeコントローラーのページにリダイレクトされますが、そのコントローラーで他のアクションを実行しようとすると、もう一度サインインする必要があると言われます.current_userがどのように失われているのか本当にわかりません.

4

2 に答える 2

1

申し訳ありませんが、私はあなたの質問に答えることができません.

于 2012-07-02T12:15:16.023 に答える
1

Devise の omniauthable モジュールの使用方法に関するリソースはほとんどありません。https://gist.github.com/993566http://edmiston.id.au/post/9204306833/omniauthable-my-versionをご覧ください。ウィキにはいくつかの詳細がありません。

于 2012-07-02T14:19:08.183 に答える