2009-07-23 59 views
6

我想使用ASP.NET 2.0和SQL Server 2005使用OpenID對網站的身份驗證

我選擇了Twitter,Facebook和谷歌作爲潛在的OpenID提供新的應用程序來實現的OpenID。

我找到了the Twitter implementation in .NET,我是studying Google's OpenID implementation,但我想確保我的設計完美無缺。

  1. 我的數據庫模式是否正確?我已將Reader與僅包含nullable Name列的ProviderOpenID關聯。我存儲了OauthToken,並在每次請求時都使用它來訪問他的個人資料並驗證登錄信息。我錯過了什麼嗎?

  2. 任何人都可以告訴我,如果有一個開放源代碼庫用於Google的OpenID提供程序的.NET實現嗎?我發現following tutorial on Google但我不明白它是如何工作的。有沒有人試過這個?這是做這件事的最好方法嗎?

回答

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

+0

感謝您的回答。我下載的演示是針對VS2008的。我會盡力弄明白,因爲我仍然有VS2005 :( – 2009-07-27 07:04:43

0

我想我是聽一個播客dotnetrocks關於寫了這個工具的身份驗證工具的傢伙: https://rpxnow.com/