gpt4 book ai didi

c# - 保持简单的成员资格 OAuth session 事件

转载 作者:太空狗 更新时间:2023-10-29 23:32:33 24 4
gpt4 key购买 nike

我们在 ASP.NET MVC 4 中使用 Simple Membership Provider,并使用 Facebook Client 提供 Facebook 登录支持(类似于 http://www.asp.net/mvc/overview/getting-started/using-oauth-providers-with-mvc )。

我们已经成功了,但是 session 总是在一天内超时,我们希望登录是持久的,这样用户就可以登录并使用该服务一次。

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

OAuthWebSecurity.Login(result.Provider, result.ProviderUserId, createPersistentCookie: true)

我是否必须手动设置表单例份验证 cookie 才能完成持久登录?还是有另一种方法可以做到这一点,同时仍然利用开箱即用的 Facebook 登录功能?

最佳答案

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

要使它正常工作,我所要做的就是使用 SSL,并在 web.config 中更改 cookie 超时。这是超时设置为 1 分钟的示例。不要忘记将 requireSSL 标记为 true。

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

但在您的情况下,我认为问题出在来自 facebook 的短期实时访问 token (默认大约 2 小时)。如果问题出在访问 token 上 here is link如何延长访问 token 的生命周期。

关于c# - 保持简单的成员资格 OAuth session 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15401603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com