【问题标题】:How can DotNetOpenAuth help me build an OAuth 2.0 Service Provider?DotNetOpenAuth 如何帮助我构建 OAuth 2.0 服务提供者?
【发布时间】:2011-06-11 22:41:00
【问题描述】:

我正在开始这个项目,我需要为网站提供授权。既然我是从零开始,为什么不使用最新的:OAuth 2.0 协议。不幸的是,我对安全一无所知,也没有实现 OpenID/OAuth。由于我习惯于在 .NET 环境中工作,我很自然地会找到一个 .NET 实现,而这正是 DotNetOpenAuth 的用武之地。

但是,我仍然不清楚 DotNetOpenAuth 如何提供帮助。我天真地假设 DotNetOpenAuth 将准备好所有实现,并且我可以调用一些函数(创建请求令牌,将其与访问令牌交换等),并实现所有后端安全性,RSA 东西。当我浏览代码时,感觉 DotNetOpenAuth 提供了很多接口,但我仍然必须手动将它们全部编码。

我可以得到确认吗? Andrew Arnott,你在吗?

【问题讨论】:

标签: .net dotnetopenauth oauth-2.0


【解决方案1】:

OAuth 2.0 尚未最终确定,因此您可能需要考虑 OAuth 1.0a。但如果您确实想使用 OAuth 2.0,请确保您使用的是 DotNetOpenAuth 3.5 CTP

是的,该库会为您处理大部分 RSA 和其他协议细节。但是您需要自己执行一些连接和令牌持久性,因为每个站点在这些方面都不同。 CTP 下载附带一个示例 OAuthServiceProvider 示例,您可以参考该示例寻求帮助。

【讨论】:

  • 如果我在这里错了,请纠正我。 OAuth 2 应该更容易为客户端和提供者实现,因为我们不再需要签名。但是,在 OAuth 1 和 OAuth 2 两种情况下,我们仍然需要手动实现您提到的那些连接和令牌持久性。如果这是正确的,那么我会选择 2.0,但你能指导我实际需要手动实现什么吗?
  • 您对 OAuth 1.0 与 2.0 的评估大致正确,尽管我的理解是 2.0 也支持签名——它只是不像 1.0 那样需要签名。 CTP 下载包含有关如何将其连接到您的网站的示例。这并不复杂。
  • ...实际上,您使用 1.0 还是 2.0 对您来说大致相同,因为当签名应用时,库会为您处理。
  • 感谢您的回复,安德鲁。我真的很想使用你的库,但我没有使用最新的 .NET 东西(MVC、LINQ 等)这一事实让我很难做到。有什么方法可以告诉我基本的实施步骤吗?
  • @Andrew,一篇博文或截屏视频显示您创建服务提供者和消费者示例所遵循的过程会很棒吗?
猜你喜欢
  • 2012-07-11
  • 2011-02-24
  • 2015-06-29
  • 2013-12-22
  • 2011-07-28
  • 2011-12-09
  • 1970-01-01
  • 2013-11-19
  • 2011-04-25
相关资源
最近更新 更多