Разработать для Twitter, Ошибка переполнения cookie? - PullRequest
27 голосов
/ 19 августа 2011

Я пытаюсь интегрировать твиттер в устройство, используя это руководство . Я в основном беру все случаи жизни на Фейсбуке и подставляю его в твиттер. Однако при входе в систему через твиттер я получаю следующую ошибку:

ActionDispatch::Cookies::CookieOverflow (ActionDispatch::Cookies::CookieOverflow):

по следующему адресу:

http://localhost:3000/users/auth/twitter/callback?oauth_token=something&oauth_verifier=blah

Есть ли хороший способ обойти эту проблему?

Спасибо!

Ответы [ 2 ]

73 голосов
/ 19 августа 2011

Проблема с session["devise.facebook_data"] = env["omniauth.auth"]. Ответ Твиттера содержит очень большой раздел extra, который не помещается в сеанс. Один из вариантов - хранить env["omniauth.auth"].except("extra") в сеансе.

8 голосов
/ 19 августа 2011

Вы можете включить хранилище ActiveRecord для сеанса.Посмотрите в config / initializers / session_store.rb

закомментируйте строку об использовании: cookie_store

раскомментируйте строки внизу об использовании: active_record_store

# Use the database for sessions instead of the cookie-based default,
# which shouldn't be used to store highly confidential information
# (create the session table with "rails generate session_migration")
MyApp::Application.config.session_store :active_record_store

Создайте миграциюперед рельсами rails g session_migration и перенести его.

...