我正在尝试实施 Omniauth。我想将来自第三方(如 Facebook 电子邮件)的用户登录信息临时存储到会话中,例如:
session[:email] = auth.email
这些信息会自动传递给客户吗?
我知道会话 ID 将传递给客户端,但不确定会话中的其他对象是否如此。
谢谢你。
我正在尝试实施 Omniauth。我想将来自第三方(如 Facebook 电子邮件)的用户登录信息临时存储到会话中,例如:
session[:email] = auth.email
这些信息会自动传递给客户吗?
我知道会话 ID 将传递给客户端,但不确定会话中的其他对象是否如此。
谢谢你。
这取决于您选择的会话存储。如果您选择cookie
了会话存储,它将把所有会话数据放在 cookie 中,这将涉及将其发送到客户端。否则,它只是将密钥存储在 cookie 中,因为这就是识别用户和获取他们的会话数据所需的全部内容。
您放入会话哈希的数据将存储在客户端,但将使用您的secret_token
. 如果您想查看会话中的内容,可以从浏览器中获取会话数据,然后执行以下操作:
Marshal.load(Base64.decode64(session_data))
以上将准确地向您展示您在浏览器会话中存储的内容。