存储在会话对象中的每个信息都会传递给Rails中的客户端吗?

时间:2013-02-25 17:49:04

标签: ruby-on-rails session omniauth

我正在尝试实施Omniauth。我想暂时将用户的登录信息从第三方(如Facebook电子邮件)存储到会话,例如:

session[:email] = auth.email

此信息会自动传递给客户吗?

我知道会话ID将传递给客户端,但不确定会话中的其他对象是否属于这种情况。

谢谢。

2 个答案:

答案 0 :(得分:1)

这取决于您选择的会话存储。如果您已选择cookie作为会话存储,则会将所有会话数据放入cookie中,这将涉及将其发送到客户端。否则,它只是将密钥存储在cookie中,因为这是识别用户和获取会话数据所需的全部内容。

答案 1 :(得分:1)

您放入会话哈希的数据将存储在客户端,但会使用您的secret_token进行加密。如果您想查看会话中的内容,可以从浏览器中获取会话数据,然后执行以下操作:

Marshal.load(Base64.decode64(session_data))

以上内容将准确显示您在浏览器会话中存储的内容。