Playframework 2.0 如何保持SecureSocial用户登录?
我有一个Play 2.0.4 web应用程序,它使用SecureSocial允许用户通过twitter、facebook和gmail等第三方提供商登录。在这一点上,我没有使用我自己的用户名密码提供者;也许我以后再加上 我需要我的用户保持登录很长时间,也许一周。在我的例子中,用户会话只是用于各种方便的功能,如定制,因此与长寿命会话相关的风险肯定不如不必每次登录的方便性重要 当前会话似乎存储在一个短暂的cookie中,当用户终止浏览器时,cookie就会消失。配置文件中有一个sessionTimeOut参数,但它的作用似乎是在长时间处于打开状态的浏览器中终止会话。至少,当我关闭并重新打开浏览器时,会话会立即中断,即使此超时设置为较大的数字Playframework 2.0 如何保持SecureSocial用户登录?,playframework-2.0,securesocial,Playframework 2.0,Securesocial,我有一个Play 2.0.4 web应用程序,它使用SecureSocial允许用户通过twitter、facebook和gmail等第三方提供商登录。在这一点上,我没有使用我自己的用户名密码提供者;也许我以后再加上 我需要我的用户保持登录很长时间,也许一周。在我的例子中,用户会话只是用于各种方便的功能,如定制,因此与长寿命会话相关的风险肯定不如不必每次登录的方便性重要 当前会话似乎存储在一个短暂的cookie中,当用户终止浏览器时,cookie就会消失。配置文件中有一个sessionTimeO
建议用什么方法让用户长时间登录 来自master的最新快照(用于Play 2.1)有一个新属性,如果需要,可以使验证器cookie持久化。在配置文件中,您可以添加:
securesocial.cookie.makeTransient=false
securesocial.cookie.absoluteTimeoutInMinutes=1440
securesocial.cookie.idleTimeoutInMinutes=1440
这将使cookie持久并使会话持续24小时。对于Play 2.2,您需要将cookie部分添加到securesocial.conf文件中,如:
cookie {
name=id
path=/
httpOnly=true
idleTimeoutInMinutes=1440
absoluteTimeoutInMinutes=1440
}
此处定义并使用了配置: 您可以将鼠标悬停在变量上,查看如何使用配置 两个配置:absoluteTimeout和idleTimeout用于不同的目的,它控制cookie何时被视为有效
因此,我建议您对AbsoluteTimeOutingMinutes使用一个比另一个大得多的值看起来对于我的基本需求,我可以完全摆脱securesocial,使用scribe,然后手动植入会话cookie。代码数量大致相同,但对行为的控制更多。您能提供一个解决方案吗?谢谢