C# 使简单成员身份OAuth会话保持活动状态

C# 使简单成员身份OAuth会话保持活动状态,c#,asp.net,asp.net-mvc,asp.net-mvc-4,simplemembership,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Simplemembership,我们使用ASP.NET MVC 4的简单会员资格提供商,并使用Facebook客户端提供Facebook登录支持(类似于) 我们已经做到了这一点,但是会话总是在一天内超时,我们希望登录是持久的,这样用户就可以登录并使用该服务一次 在开箱即用的ExternalLoginCallback函数中,我试图将createPersistentCookie参数设置为true,但它不会使登录保持活动状态。这是我正在打的电话: OAuthWebSecurity.Login(result.Provider, res

我们使用ASP.NET MVC 4的简单会员资格提供商,并使用Facebook客户端提供Facebook登录支持(类似于)

我们已经做到了这一点,但是会话总是在一天内超时,我们希望登录是持久的,这样用户就可以登录并使用该服务一次

在开箱即用的ExternalLoginCallback函数中,我试图将createPersistentCookie参数设置为true,但它不会使登录保持活动状态。这是我正在打的电话:

OAuthWebSecurity.Login(result.Provider, result.ProviderUserId, createPersistentCookie: true)
为了实现持久登录,我是否必须手动设置表单身份验证cookie?或者,在仍然利用现成的Facebook登录功能的情况下,还有其他方法可以做到这一点吗?

用于确定用户是否经过身份验证。您可以使用firebug或任何其他web调试工具跟踪过期时间。在您的项目中,cookie在ExternalLoginCallback中设置。下面是设置cookies过期超时的示例屏幕

我要做的就是使用SSL,并在web.config中更改cookie超时。下面是超时设置为1分钟的示例。别忘了在true上标记requireSSL

<authentication mode="Forms">
   <forms loginUrl="~/Account/Login" timeout="1" requireSSL="true"/>
</authentication>

如何延长访问令牌的生命周期。

在登录过程发生后,我实际上没有访问Facebook数据。简单成员资格提供程序似乎在其现成实现中忽略了“createPersistentCookie”参数。