2015-04-21 5 views
2

У меня есть приложение Rails 4.0.11.1, которое использует Devise для пользовательского auth. Он отлично работает в разработке и производстве во всех основных браузерах, кроме Safari 8. Он отлично работает на мобильном Safari и работает в действительно старых версиях Safari. Я получаю ошибку 422 Unprocessable Entity. Вот часть ошибки:Safari не войдет в систему с Devise and Rails 4

Started POST "/auth/signin" for 127.0.0.1 at 2015-04-21 11:19:17 -0700 
Processing by Devise::SessionsController#create as HTML 
Parameters: {"utf8"=>"✓", 
"authenticity_token"=>"HGlp4uhzhmgtoVZoWvwpk5EtL5UqiqiwjIRfJlUyjEU=", 
"user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", 
"remember_me"=>"0"}, "commit"=>"Sign in"} 
Can't verify CSRF token authenticity 
Completed 422 Unprocessable Entity in 1ms 

Я нашел this пост и попытался их решением: Добавление следующего кода session_store.rb

domain: :all 

Это не сделать трюк для меня. Кто-нибудь решил проблему, подобную этой, с Safari 8?

Решено: Немного перемещение кости. Моя настройка Safari была заблокирована для всех файлов cookie. Я изменил это и устранил проблему.

+0

Отличное сообщение в блоге о проблеме, которую вы проверяете http://blog.softr.li/post/43146401263/finally-correctly-dealing-with-rails-csrf – Cyzanfar

+0

Эта разница, я думаю, между вопросом вы ссылаетесь, и моя проблема в том, что я не могу подписаться в первый раз. Даже когда вы пытаетесь создать нового пользователя, я получаю ошибку сразу после отправки формы. – Bw00d

+0

Если у вас есть решение, напишите об этом в предоставленном окне ответа. Это предпочтительнее для редактирования слова «разрешено» в вопросе. –

ответ

2

Убедитесь, что ваш веб-браузер принимает cookies. Если это не так, вы не сможете завершить аутентификацию (не только здесь, но и на большинстве веб-сайтов).

Смежные вопросы