Facebook 在操作之间保存Omniauth数据
在omniauth facebook中,facebook有时不为用户提供电子邮件(针对那些使用电话号码注册的用户) 因此,如果提供了电子邮件,该例程是正常的,但如果不是,我需要将用户重定向到表单,以便他们可以手动输入电子邮件 问题是,我需要保留从facebook收到的数据,以便在提供电子邮件后创建用户 将其保存在会话['designe.facebook.data']中会导致cookie溢出(在Rails4中,由于加密)。使用cookies会将整个事情变成一个长字符串,这将使从那里提取数据变得更加困难Facebook 在操作之间保存Omniauth数据,facebook,session,ruby-on-rails-4,devise,omniauth,Facebook,Session,Ruby On Rails 4,Devise,Omniauth,在omniauth facebook中,facebook有时不为用户提供电子邮件(针对那些使用电话号码注册的用户) 因此,如果提供了电子邮件,该例程是正常的,但如果不是,我需要将用户重定向到表单,以便他们可以手动输入电子邮件 问题是,我需要保留从facebook收到的数据,以便在提供电子邮件后创建用户 将其保存在会话['designe.facebook.data']中会导致cookie溢出(在Rails4中,由于加密)。使用cookies会将整个事情变成一个长字符串,这将使从那里提取数据变得更加
是否有更好的方法将数据传递给下一个操作?为什么要将从OmniAuth接收到的每一点信息都放到会话中?尽量只储存你需要的信息。大多数情况下,您不需要“额外”信息,因此这肯定会起作用:`session[designe.facebook.data']=request.env[“omniauth.auth”]。除了('extra')。如果你真的需要“额外”字段中包含的一些信息,那么创建你自己的、较小的散列并将其存储在会话中。谢谢,这就是我最终要做的。我很高兴这是一个很容易解决的问题!如果你真的需要这些信息,那就更难了。