1

Powと Omniauthで奇妙な問題が発生しています。localhost:3000 を使用すると Omniauth (Facebook ログイン) は問題なく動作しますが、Pow (appname.dev) を使用すると問題が発生します。

ユーザーはリダイレクトを通過し、データベースに存在しない場合は適切に作成されます。ただし、この後、root_path にリダイレクトされ、サインインされません。レコードは期待どおりデータベースに保存されますが、サインインは行われません。繰り返しますが、これは Pow (および lvh.me) でのみ発生し、localhost では発生しません。

何か案は?

サインインにDevise/Omniauthアプローチを使用しています。コントローラーのコードは次のようになります。

  def facebook

    @user = User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user)

    if @user.persisted?
      flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Facebook"
      sign_in_and_redirect @user, :event => :authentication
    else
      session["devise.facebook_data"] = request.env["omniauth.auth"]
      redirect_to new_user_registration_url
    end
  end

ここでも、ユーザーは保持されますが、POW の使用時に発生するフラッシュ通知またはサインインはありません。

4

1 に答える 1

0

Check that the session is being set as something may be preventing it (like needing to clear browser cookies in your case.)

于 2012-06-11T23:02:34.537 に答える