使用OpenID进行网站身份验证

Sig*_*nza 6 .net c# sql-server asp.net openid

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

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

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

  1. 我的数据库架构是否正确?我将a Reader 与一个ProviderOpenID只包含一nullable Name列的关联.我存储OauthToken并在每次请求时使用它来访问他的个人资料并验证登录.我错过了什么吗?

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

And*_*ott 5

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