使用OpenID进行网站身份validation

我想在使用ASP.NET 2.0和SQL Server 2005的新应用程序中实现OpenID。

我选择Twitter,Facebook和Google作为潜在的OpenID提供商。

我已经在.NET中找到了Twitter实现,我正在研究Google的OpenID实现 ,但我想确保我的设计(主要是!)完美无瑕。

  1. 我的数据库架构是否正确? 我已将ReaderProviderOpenID相关联,后者仅包含nullable Namenullable Name列。 我存储了OauthToken并在每次请求时使用它来访问他的个人资料并validation登录。 我错过了什么吗?

  2. 任何人都可以告诉我,对于Google的OpenID提供程序的.NET实现是否有开源库? 我在Google上找到了以下教程,但我不明白它是如何工作的。 有没人试过这个? 这是最好的方法吗?

Facebook和Twitter 不是 OpenID提供商。 看起来您已经找到了其专有机制的解决方案。 但我只想澄清它是什么而不是。

是的,Google是OpenID提供商。 对于ASP.NET 2.0,您链接到的DotNetOpenId是进入IMO的方式。 不要介意维基(当时已经失败但现在已经失败了)。 这是针对.NET 3.5的新DotNetOpen Auth库。 既然你专门针对.NET 2.0(这是故意吗?)你需要使用Google Code项目网站( http://dotnetopenid.googlecode.com/ )上的DotNetOpenId并忽略“我们已经移动” “链接,因为它会引导您进入.NET 3.5库。 你想要的是DotNetOpenId v2.5.5。 它带有示例,向您展示如何获得OpenID。

请注意,Google在使用OpenID方面有一些特点,其中最值得注意的是输入“google.com”作为openid标识符不起作用(目前)。 您必须输入较长的https://www.google.com/accounts/o8/id

我想我正在收听有关编写此工具身份validation工具的人的dotnetrocks播客: https ://rpxnow.com/。