2010-09-04 86 views
0

我正在尝试将facebook登录名纳入我的ASP.NET网络应用程序,并且遇到了下面的文章,其中有相同的代码示例。使用md5哈希验证fb cookie

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

以下是文章。

接下来,最重要的是,类 验证cookie。此验证 使用MD5散列法将附加到应用程序 机密的密钥的内容与使用cookie进入 的签名进行比较。如果这些值匹配 我们知道密钥是有效的。我们知道密钥是有效的。

为什么使用Md5散列?为什么不是SHA或其他算法?

如果我不验证cookie,会发生什么情况?可以将无效的cookie发送到服务器?

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

我从来没有真正与cookie合作过,所以我想在这里获得基础知识。

谢谢。

回答

0

好吧,经过一些更多的搜索和通过代码,我终于明白了。

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

+0

请注意使用fb_sig身份验证。这很快就会消失。如果您正在创建新应用程序,最好使用新的OAuth 2.0身份验证系统。 http://developers.facebook.com/docs/authentication/canvas – 2010-09-20 13:57:03

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 
} 

会话对象在它返回给你之前被验证。

+0

Nathan,我看过你开发的SDK,如果现在切换到SDK,对我来说是一种返工。但好的工作,一定会在未来尝试。 – shashi 2010-09-20 05:07:20