2010-05-28 90 views
14

我是oAuth区域的新手,已经设置了DotNetOpenAuth来设置oAuth服务提供程序。在DotNetOpenAuth下载中提供的示例对我来说是相当困惑的......也许因为我对这个东西很陌生。有一个默认页面用于创建数据库并填充数据库。现在我浏览到login.aspx并要求我放置一个openid,实际上我想使用DNN(实现DotNetOpenAuth),并且我想在另一个将成为oAuth使用者的​​站点上使用这些凭证。有人可以解释如何在DotNetOpenAuth的示例中测试oAuth服务提供者吗?Dotnetopenauth oAuth服务提供程序说明

+0

你想使用与.net相关的网站的开放认证? – 2010-05-28 07:33:22

+1

是的,我想让我的网站oauth提供商和JSF中的另一个网站成为该网站的消费者。但是,目前我的主要问题是了解DotNetOpenAuth示例oAuth提供程序服务。我不知道它应该如何工作,它的流程是什么。我测试了DotNetOpenAuth oAuth消费者样本,并让它早些工作。但我不知道如何使我的网站oAuth提供商服务 – ria 2010-05-28 07:54:32

回答

12

你已经偶然发现了DotNetOpenAuth中包含的最糟糕的示例。对于那个很抱歉。您可能发现OpenID project templates提供了一个更简单和更真实的构想,即如何设置OAuth服务提供程序。

您正在使用的示例是一个使用OAuth公开WCF服务的服务提供者,因此如果您不使用WCF,示例中将存在一些复杂性。这里就是你需要做的就是样品准备,虽然什么:

  1. 修改样本的根default.aspx.cs文件将数据添加到新的数据库为自己的OpenID,并导致样品重建其数据库OR只是在样本创建自己的数据库后,自己将原始数据添加到数据库。
  2. 使用OAuthConsumer示例尝试访问OAuthServiceProvider示例上的数据。请务必至少检查一个复选框,以确定您要求获得许可的范围。
  3. SP将提示您登录。请继续使用您为其添加数据到数据库的OpenID。
  4. SP会询问您是否同意与消费者样本共享您的数据。说是的。
  5. 消费者会说它已经获得授权并为您提供了几个在SP上查询用户数据的按钮。

This should work。如果没有,请添加评论给这个答案,我会编辑这个答案,直到我们做对了。 :)

现在关于您的DNN登录 - 没有问题。您可能知道,OAuth和OpenID是相互正交的,所以您可以将SP上的OpenID登录切换为DNN登录,并且SP将工作得很好 - 尽管在数据库中匹配用户数据课程将需要DNN要求的任何工作。

+0

非常感谢...虐待测试,并让你知道。我非常感谢你的详细回复。 – ria 2010-05-31 08:18:19

+0

@Andrew,你有一个DotNetOpenAuth YahooConsumer吗? – 2012-05-22 21:02:36

+1

还没有。请随时捐助一个。 – 2012-05-24 15:00:29