使用md5哈希验证fb cookie

时间:2010-09-04 05:45:31

标签: asp.net facebook session-cookies

我正在尝试将facebook登录纳入我的ASP.NET网络应用程序,并且遇到了以下文章,其中包含相同的代码示例。

http://ntotten.com/2010/04/new-facebook-connect-in-csharp/

以下内容来自文章。

  

接下来,最重要的是,班级   验证cookie。这个验证   使用MD5哈希来比较   附加到应用程序的密钥的内容   签名的秘密进来   用饼干。如果这些值匹配   我们知道密钥是有效的。我们知道密钥是有效的。

为什么要使用Md5哈希?为什么不使用SHA或其他算法?

如果我不验证cookie会怎样?可以将无效的cookie发送到服务器吗?

在文章中,如果cookie无效,他会抛出一个新的安全例外?在这种情况下,用户应该做些什么?

我从来没有真正使用过cookies,所以我想在这里找到基础知识。

感谢。

2 个答案:

答案 0 :(得分:0)

好的,经过一些搜索和完成代码后,我终于明白了。

http://developers.facebook.com/docs/authentication/fb_sig

答案 1 :(得分:0)

我建议您只使用我制作的SDK进行验证。 http://facebooksdk.codeplex.com。那篇文章基本上是我在启动SDK时编写的第一个代码。 sdk将处理在.Net上开发Facebook应用程序所需要做的几乎所有事情。我们使用它来处理在windows azure上托管的一些非常大的facebook应用程序。

SDK将为您处理所有哈希/验证。您需要做的就是:

var app = new FacebookApp();
var session = app.Session;
if (session != null) { 
  // Session is valid 
} else {
  // Session is not valid
}

会话对象在返回给您之前已经过验证。