我正在使用Facebook在我的网站上对用户进行身份验证。我需要使用C#从服务器注销时删除Facebook cookie。你能告诉我怎么做吗?测试和工作示例如何用c#从服务器端删除facebook cookie?
回答
假设您知道cookie的名称,可以将它的过期日期设置为过去的某个时间。当浏览器收到cookie时,它会看到它已过期并将其删除。
如果您使用的是System.Web.HttpCookieCollection
,this MSDN article具有证明这一点(例如改编自上MSDN)的示例代码:
if (Request.Cookies["NameOfFacebookCookie"] != null) {
HttpCookie myCookie = new HttpCookie("NameOfFacebookCookie");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
既然你通过Facebook认证用户,我假设你”重新使用OAuth。在这种情况下,您的不需要知道cookie的名称,并且无论如何它不是您的cookie,它在登录过程中由facebook.com设置。要注销通过Facebook登录的用户,请参阅this answer。
样本和详细信息+1。如果目标是从Facebook.com域中删除cookie,它也可能不是Aleca正在寻找的答案。 – 2011-03-05 07:11:34
@Alexei:对,但是除了要求Facebook这样做(因为[同源策略](http://en.wikipedia.org/wiki/),除了facebook.com域名外,真的没有办法删除cookie) Same_origin_policy)) – Cameron 2011-03-05 18:49:23
我不明白为什么我不能“评论”时,但无论如何;为了补充上面Alexei和Cameron之间的讨论,我们假设这个cookie是由Facebook控制的。如果你使用Javascript SDK,那么是的,Cameron的评论是真实的。但是,如果您创建了手动登录流(无SDK),以便您可以在服务器端处理登录,那么您可能创建了自己的Cookie来保存检索到的access_token,当然,您可以删除它。
- 1. 删除从客户端和服务器
- 2. 如何删除从API服务器
- 3. 从DIV服务器端的C#删除CSS
- 4. Facebook使用OAuth服务器端注销
- 5. 如何批量删除Firebase服务器端的用户帐户?
- 6. 从JSESSIONID中删除服务器名称
- 7. Meteor.call删除客户端和服务器
- 8. 如何启用Facebook OAuth 2.0完全服务器端?
- 9. 如何从服务器端查询Facebook Oauth2
- 10. 如何确认客户端Facebook应用程序登录从服务器端
- 11. 如何使用间隔时间/ settimeout从服务器node.js删除/删除数据?
- 12. 如何删除使用`createorupdate`时从服务器API中删除的Realm对象?
- 13. 如何从服务器端清除浏览器的缓存?
- 14. 如何从使用PHP的服务器中删除文件?
- 15. 如何使用POST从服务器中删除某些内容?
- 16. 如何从ambari中删除服务zookeeper?
- 17. 删除从服务器端添加的样式标签
- 18. ASP.NET隐藏(不从DOM中删除)控件在服务器端
- 19. 如何删除C#中的Firefox Cookie?
- 20. 如何从客户端调用C服务器中的函数
- 21. 访问服务器端的Cookie
- 22. 如何从Azure域控制器中删除ADFS服务器
- 23. 服务器Cookie?
- 24. 如何从OS 10.7.2终端删除Safari cookie?
- 25. 从服务器端
- 26. 从服务器端
- 27. 如何在服务器端清除文件上传文本(c#)
- 28. 从MySQL服务器意外删除表
- 29. 从服务器删除图像
- 30. 从链接服务器中删除
你在服务器端使用什么框架? ASP.NET? – Cameron 2011-03-05 04:38:04
你不能。你只能礼貌地要求用户的浏览器删除它。但是cookie最终存储在用户的计算机上,您无法控制。如果用户只读cookie文件,即使浏览器是合作的,您的网站也不会做任何更改。 – 2011-03-05 04:54:40
@Ben:好点,但大多数人不会只使他们的cookie文件只读;-) – Cameron 2011-03-05 05:01:12