我正在努力尝试拆解 DotNetOpenAuth 中包含的 OAuth 服务提供程序示例。 我搜索了一下,发现了一些类似/相关的帖子,但没有什么真正有用的。 是否有任何开源项目或 ASP.NET MVC 2 OAuth 服务提供程序的真正简单/原始示例? 我只想使用 OAuth 来验证服务。 我打算使用密钥/秘密来滚动我自己的 api,但认为像 OAuth 这样经过尝试和测试的协议可能是更好的解决方案。
我最终做了一些广泛的研究,发现我不需要传统的 3 足 OAuth,只需要 2 足。 问题是两条腿的 OAuth 信息很难找到。 我终于找到了实现 2-legged OAuth 的 Google 规范:
http://oauth.googlecode.com/svn/spec/ext/consumer_request/1.0/drafts/2/spec.html
我还找到了它的实现,因为 Justin.tv 正在将它用于他们的服务:
http://apiwiki.justin.tv/mediawiki/index.php/OAuth_Ruby_Tutorial
我还偶然发现了一个优秀的 OAuth 测试工具,它对我实现服务有很大帮助:
http://term.ie/oauth/example/client.php
一旦您了解了您正在寻找的内容以及如何实现它,两条腿的 OAuth 就会非常简单。 如果您正在搜索 OAuth,您很可能会找到谈论传统三足 OAuth 的文章,顾名思义,它涉及 3 方:消费者、服务提供商和用户。 两条腿走路严格涉及消费者和服务提供商。 如果您的服务不专门与用户打交道,那么 2 足 OAuth 正是您所需要的。
至于框架,我使用的是 ASP.NET MVC,所以我最终选择了位于此处的 github 存储库:
https://github.com/buildmaster/oauth-mvc.net
它有一些非常好的、干净的代码,并使用依赖注入(Ninject)。 我没花太多时间就能将其修改为 2-legged OAuth。