与SO一样,我将依赖许多Open ID提供商来提供用户身份验证,我将使用自己的授权方法。但是我还处于开发阶段,并且不想与当前真正的OpenID提供商合作,我可以使用什么方法来测试我的用户及其在网站上的活动(没有TDD),模仿真实用户但不能真的使用开放ID提供商。
无需将用户自动转移到真正的OpenID服务器(转移到生产模式时),因为当前用户仅用于测试目的和单元测试代码。
我想,我需要一个用户服务层,它提供了一种高度抽象的方式来处理用户,因此转移到真正的Open ID提供商将来可以顺利进行,并且不会影响我已经写好的逻辑代码。
使用C#.Net 4,ASP.Net MVC 3,Ninject
答案 0 :(得分:6)
DotNetOpenAuth提供OpenID的服务器和客户端部分,可用于运行您自己的OpenID提供程序以进行本地测试。
使用此库中包含的提供程序支持为您的网站成员提供自己的OpenID。
示例依赖方和提供商网站向您展示如何操作。
答案 1 :(得分:3)
我只是将我的测试ID注册为各种组织的用户。我没有看到任何错误。我会看到各种反应及其差异。
我发现为openid消费者编码非常容易。只需要了解响应的顺序。在开始编码之前,绘制UML序列图以帮助您理解。无需伪造openId。否则,自己打开一个openid服务器。
答案 2 :(得分:1)
您的服务不应依赖OpenID。只需将OpenID插件插入身份验证模块即可提供本地用户主体。在开发过程中,您可以让auth模块返回具有您所需权限的伪用户主体。
在测试版环境中,您可以启用OpenID并使用任何OpenID提供商提供的测试帐户。必须在开发阶段登录才会减慢所有开发人员的速度。任何身份验证错误或网络中断都会影响每个人的工作效率。