У меня возникла странная проблема с Pow и Omniauth. Omniauth (вход через Facebook) отлично работает при использовании localhost:3000, но при использовании Pow (appname.dev) возникают проблемы.
Пользователи проходят через перенаправление и правильно создаются, если они не существуют в базе данных, как и должно быть. Однако после этого они перенаправляются на root_path и не входят в систему. Их запись сохраняется в базе данных, как и ожидалось, но вход не происходит. Опять же, это происходит только на Pow (и lvh.me), а не на локальном хосте.
Есть идеи?
Я использую подход 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 не возникает мгновенного уведомления или входа в систему.