为 Twitter 设计,Cookie 溢出错误?

发布于 2024-11-30 17:53:50 字数 473 浏览 0 评论 0原文

我正在尝试使用此指南将twitter集成到devise中。我基本上把所有出现的facebook 都用twitter 代替。但是,当我使用 Twitter 登录时,出现以下错误:

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

在以下网址:

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

有什么好的方法可以解决此问题吗?

谢谢!

I am trying to integrate twitter into devise using this guide. I basically take all occurence of facebook and substitue it with twitter. However, when I sign in with twitter, I am getting the following error:

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

at the following url:

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

Is there any nice way to get around fixing this problem?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

方觉久 2024-12-07 17:53:50

问题出在 session["devise.facebook_data"] = env["omniauth.auth"] 上。 Twitter 的响应包含一个非常大且不适合会话的extra 部分。一种选择是将 env["omniauth.auth"]. except("extra") 存储在会话中。

The problem is with session["devise.facebook_data"] = env["omniauth.auth"]. Twitter's response contains an extra section that is very large and does not fit in the session. One option is to store env["omniauth.auth"].except("extra") in the session instead.

森林很绿却致人迷途 2024-12-07 17:53:50

您可以为会话打开 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 rails g session_migration 之前创建迁移并迁移它。

You can turn on ActiveRecord store for session.
Look in config/initializers/session_store.rb

comment out the line about using :cookie_store

uncomment the lines at the bottom about using :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

Create migration before rails rails g session_migration and migrate it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文