2011-07-01 37 views
6

像SO一樣,我將依賴許多Open ID提供程序來提供用戶身份驗證,我將使用我自己的授權方法。但我仍處於開發階段,並且不希望與當前真正的OpenID提供商合作,我可以使用什麼方法來測試我的用戶及其在網站中的活動(不使用TDD),以模擬真實用戶,但不能真的使用Open ID提供者。假公開ID提供程序用於測試目的

由於當前用戶僅用於測試目的和單元測試代碼,因此無需自動將用戶轉移到真正的OpenID服務器(轉入生產模式時)。

我想,我需要一個用戶服務層,它提供了一個高度抽象的方式來處理用戶,以便向真正的Open ID提供者的轉移可以在將來平滑並且不會影響我已經的邏輯書面代碼。

使用C#.NET 4,ASP.Net MVC 3,Ninject

回答

6

DotNetOpenAuth提供OpenID的服務器和客戶端部分,可用於運行您自己的OpenID提供程序進行本地測試。

  • 給您的網站成員自己的OpenID與包含在這個庫中提供支持。

  • 示例依賴方和提供商網站向您展示瞭如何執行此操作。

+2

特別是,dotnetopenauth-tools下載包括「OpenIdOfflineProvider」,非常適合開發/測試RP。 –

3

我簡單地註冊我的測試ID作爲與各種組織的用戶。我沒有看到任何問題。我可以看到各種反應和差異。

我發現openid消費者編碼非常容易。只需要瞭解響應的順序。在開始編碼之前繪製UML序列圖以幫助您理解。不需要僞造openId。否則,你自己掀起一個openid服務器。

1

你的服務不應該依賴於OpenID的。只需將OpenID插入驗證模塊即可提供本地用戶主體。在開發過程中,您可以讓auth模塊返回具有您所需權限的假用戶主體。

在測試版環境中,您可以打開OpenID並使用來自任何OpenID提供程序的測試帳戶。必須在開發階段登錄纔會放慢所有開發人員的工作。任何身份驗證錯誤或互聯網中斷都會殺死每個人的生產力。

+0

+1好,在哪裏可以找到'auth'模塊?並且它屬於DotNetOpenAuth? –

相關問題