什么是最好的 OAuth2 C# 库? [关闭]

Posted

技术标签:

【中文标题】什么是最好的 OAuth2 C# 库? [关闭]【英文标题】:What is the best OAuth2 C# library? [closed] 【发布时间】:2011-04-07 13:36:00 【问题描述】:

似乎许多应用程序提供商都在使用 OAuth2 来允许 API 访问,例如 Twitter 和 Facebook。有没有人使用一个好的库来进行足以在所有应用程序中使用的通用 OAuth2 处理?

【问题讨论】:

我对关闭投票感到困惑。要求图书馆推荐以完成特定任务现在是“主观的和争论的”? 有些人出于某种原因认为“最好”和“最差”的任何想法都是完全不客观的。我不知道为什么,但他们认为“绿色是最好的颜色!!!!”与“在这些条件下什么是最好的库是一样的:...” 还有基于 Katana 的 Microsoft 实现,nuget.org/packages/Microsoft.Owin.Security.OAuth 我认为所有 SO 版主都有一项内部政策来关闭“推荐”问题,因为他们害怕因“稀少内容”而受到谷歌惩罚 【参考方案1】:

你应该看看OAuth2。它是大多数流行提供商的 OAuth 1.0 和 OAuth 2.0 协议的 .NET 实现:

谷歌 脸书 推特 四方 instagram 已链接 Windows 直播 vkontakte odnoklassniki yandex mail.ru github

Nuget 包是there。

【讨论】:

我们有这个库的详细工作示例吗?我可以看到一些使用示例,但我不明白什么是AuthroizationRoot【参考方案2】:

我没有研究它的内部结构(源代码链接已损坏),但总的来说DotNetOpenAuth 似乎很专业。

更新:现在也支持 OAuth 2 和 OpenID。

【讨论】:

上次我检查了 DotNetOpenAuth 不支持 OAuth 2.0。 @Micah 你是对的。我相信当我回答时没有注意到某些事情(可能他们的设计不同,或者他们错误地声称支持 OAUth2)。我现在会更新答案。 现在(2013 年 2 月)DotNetOpenAuth 支持 OAuth2 和 OpenID。 @GrzegorzGierlik 感谢您的更新。由于人们很少阅读 cmets,所以我放了更新而不是您的修改。 我强烈不推荐使用 DNOA。几乎没有关于如何使用该库的文档,因此当您遇到任何问题时,您肯定会靠自己。如果您尝试访问的 Web 服务有一个包含 OAuth 实现的 .NET SDK,那么就去做吧。我为此付出了高昂代价的个人建议,不要去 DNOA 否则准备好独自阅读代码的不安之夜!【参考方案3】:

我还没有看到任何好的 OAuth2 框架。我决定尝试为一个项目推出自己的项目。

到目前为止,我的框架支持不记名令牌和所有 oauth 2 流(挑战/响应、隐式、客户端凭据、资源所有者密码和刷新令牌)。

这有点笨拙,我正在开发我的第一个基于此框架构建的 REST 服务。

检查一下,任何反馈或贡献将不胜感激。

https://github.com/ghorsey/SharpOAuth2

【讨论】:

【参考方案4】:

我会查看Hammock REST 客户端库。它是通用的 REST 客户端,但它也提供 OAuth 支持。

【讨论】:

Hammock REST 不支持 oAuth2。仅 oAuth 1.0a

以上是关于什么是最好的 OAuth2 C# 库? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

什么是最好的开源 Java 图表库? (除了jfreechart)[关闭]

是否已经有适用于 Java/Android 的 OAuth2 库? [关闭]

C/C++ 中最好的加密库是啥? [关闭]

什么是最好的 java 图像处理库/方法? [关闭]

什么是最好的(便携式)跨平台任意精度数学库? [关闭]

什么是最好的 J2ME UI 库 [关闭]