如何让SecureSocial用户登录?

Ale*_*exR 5 playframework-2.0 securesocial

我有一个Play 2.0.4网络应用程序,它使用SecureSocial允许用户通过Twitter,Facebook和Gmail等第三方提供商登录.那时,我没有使用自己的UsernamePasswordProvider; 也许我稍后会添加它.

我需要我的用户保持登录很长一段时间,也许一周.在我的例子中,用户会话仅用于各种便利功能,如自定义,因此与长期会话相关的风险肯定不如每次不必登录的便利性重要.

看起来当前会话存储在一个短暂的cookie中,当用户终止浏览器时它会消失.配置文件中有一个sessionTimeOut参数,但它的目的似乎是在浏览器中终止会话,该会话长时间保持打开状态.至少,当我关闭并重新打开浏览器时会立即中断会话,即使此超时设置为大数.

保持用户长时间登录的推荐方法是什么?

Jor*_*rge 3

来自 master 的最新快照(适用于 Play 2.1)有一个新属性,如果您需要的话,可以使验证器 cookie 持久化。在您的配置文件中您可以添加:

securesocial.cookie.makeTransient=false
securesocial.cookie.absoluteTimeoutInMinutes=1440
securesocial.cookie.idleTimeoutInMinutes=1440
Run Code Online (Sandbox Code Playgroud)

这将使 cookie 持久化并使会话持续 24 小时。