Придумайте, omniauth, ao-oauth автоматический случайный вход при переходе на ruby ​​1.9.3 - PullRequest
0 голосов
/ 02 апреля 2012
GEM ENV : 
gem 'rails', '3.0.11'
gem 'omniauth', '0.3.2'
gem 'oa-oauth', '0.3.2'
gem 'devise', '1.4.7'

Проблема: Под ruby ​​1.8.7 все хорошо работает.

При запуске под ruby ​​1.9.3 (патч 125) случайный пользователь автоматически входит в систему (!!!), а когда мы отключаемся, другой случайный пользователь автоматически входит в систему ...

У кого-то была такая же проблема? Существуют ли несовместимости с 1.9.3 с одним из этих драгоценных камней: devise, omniauth, oa-oauth?

1 Ответ

0 голосов
/ 03 апреля 2012

RESOLVED

Это устаревший код без функциональных тестов и модулей .... хммм Ошибка произошла из-за метода проверки "запомнить меня" с помощью куки

def check_remembered rem_token = * куки.signed [: запомнить_user_token] save_remember_cookie if (rem_token.nil? && user_signed_in? && current_user.remember) вернуть true, если rem_token.nil?... ...

НО: с оператором ruby ​​1.9 для nil возвращается пустой массив, как в ruby ​​1.8 он возвращает nil ..... Следовательно, код после return true всегда выполнялся и случайныйпользователь вошел в систему ...

===> Итак, .nil?были заменены на .empty?

Если это может помочь кому-то еще.

...