После попытки "войти в систему с Google" я вижу эту ошибку в журналах:
Processing by Users::OmniauthCallbacksController#failure as HTML
Я могу видеть все данные из Google, отправленные через URL (в журналах), включая электронную почту и имя пользователя. Так что может пойти не так? Мои обратные вызовы даже не выполняются. Я только перенаправляюсь на страницу sign_in моего сайта.
И я уверен, что все настроено правильно, потому что это работало нормально несколько недель назад. Я не думаю, что я что-то изменил. Вход в Facebook по-прежнему отлично работает.
Любые идеи о том, как отладить этот сбой? В журналах больше ничего нет, кроме тех длинных URL, которые полны параметров и значений. Только сообщения INFO. Один, вышедший выше, является единственным, кто сказал что-то об отказе.
UPDATE
Я добавил контроллер ""
def failure
render :text => params.inspect
end
Что остановило перенаправления и напечатало это:
{}
URL был следующим:
/users/auth/google/callback?_method=post&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fud&openid.response_nonce=2012-04-16T12%3A25%3A49Z_v1fNngSQJaHBQ&openid.return_to=http%3A%2F%2Fdev.myapp.me%3A3000%2Fusers%2Fauth%2Fgoogle%2Fcallback%3F_method%3Dpost&openid.assoc_handle=AMlYA9Urw_lYamPphTSdQ9a6DU0Ez0y5RaDDM78qPL7Xgm77nMpJiB85&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle%2Cns.ext1%2Cext1.mode%2Cext1.type.ext5%2Cext1.value.ext5%2Cext1.type.ext8%2Cext1.value.ext8%2Cext1.type.ext2%2Cext1.value.ext2&openid.sig=2FPjo7U1e%2Fde248XpUgjQLduNAM%3D&openid.identity=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3DAItOawk1F5U6x_-kJnydjoww5haU41tquh1Zl2c&openid.claimed_id=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3DAItOawk1F5U6x_-kJnydjoww5haU41tquh1Zl2c&openid.ns.ext1=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ext1.mode=fetch_response&openid.ext1.type.ext5=http%3A%2F%2Faxschema.org%2FnamePerson%2Ffirst&openid.ext1.value.ext5=Some_User&openid.ext1.type.ext8=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ext1.value.ext8=some_email%40gmail.com&openid.ext1.type.ext2=http%3A%2F%2Faxschema.org%2FnamePerson%2Flast&openid.ext1.value.ext2=Some_User
Итак, все, что мне нужно, - это URL, но dev//omniauth не захватывает его (и, видимо, почему он вызывает метод "отказ" вместо моих обратных вызовов). Я не знаю, должен ли он быть доступен через массив params, или что.
Я также заинтригован частью ?_method=post
, потому что все запросы на мой сайт - это запросы GET. Возможно, это просто означает, что запрос, сделанный omniauth для google, был POST.
Любые мысли?