2011-05-08 34 views
14

我真的很想尝试为.Net开发一个OpenId OAuth库DotNetOpenAuth,但它确实不会为我削减它。
首先,它似乎并不适用于单声道(这些示例失败,出现web.config错误或其他错误)。其次,我不需要该库的99%的功能,我只需要一些简单的功能来为我处理OpenId/OAuth 客户端使用情况复杂性。我不需要编写OpenId服务器—我只希望我的用户点击“使用Google登录”按钮:-)DotNetOpenAuth有没有更好的选择?

我只想让用户登录一组按钮我的网站有(任何一个是好的,所有三个奖金):

  • 的Facebook(不支持OAuth的,所以它不可能)
  • Twitter的
  • 谷歌

是否有任何简单可用替代品给我的东西,如:

  1. 摘录或组件一滴放在页面
  2. 理想的情况下,将简单的设置HttpContext.Current.User
  3. 集成会员—基本上使用会员资格来跟踪谁在网站上。

+0

我怀疑你会发现一个“简单”的答案,因为无论你最终用的,这将是在相当复杂的API的包装。警告:Facebook [不支持](http://stackoverflow.com/questions/1827997/is-facebook-an-openid-provider)OpenId,因此任何支持上面列出的三个提供商的解决方案都不会不重要的。 – 2011-05-08 02:43:22

+0

您是否尝试过DNOA的单声道分支:https://github.com/AArnott/dotnetopenid/tree/mono2 – SztupY 2011-05-08 10:05:48

+0

@szt不幸的是,它甚至没有编译,因为实际上*它具有特定于Windows的代码* ... :-( – Sklivvz 2011-05-08 10:18:23

回答

1

不完全是DotNetOpenAuth的替代品,尽管我相信它可能对您有所帮助。 解决类似的问题 - 我只需要简单的登录OpenID屏幕 - 我发现openid-selector。他们有几个非常简单的例子(可以使用jQuery,MooTools和原型库)如何设置类似堆栈溢出的登录页面。

2

一年前我修补了DNOA的mono2分支。这真的很老,但它有效(尽管只尝试了OpenID部分),我仍然将它用于一些项目。不知道目前的mono2分支仍得不到:(

https://github.com/sztupy/dotnetopenid

7

(自学考上偏差警报:DotNetOpenAuth的作者)

DotNetOpenAuth有几个单分支,可以工作,并且有你可能会发现它们在Linux下的单声道下没有build,但是这些分支在内置Windows的时候产生了一个dotnetopenauth.dll,它应该可以在Linux下运行,但是这已经有一段时间了,我已经自己做了,所以我帮不了你很多。

单声道并没有显示出太多的愿望来修复bug并填充DotNetOpenAuth在移植到单声道时遇到的特征孔,因此这些单声道分支已经很老了。

我想说出你的“我需要的只是一个简单的客户端,而不是提供者”的评论似乎危险地不了解。没有OpenID或OAuth 1.0客户端很简单。做到正确,安全,实际上是一项非常重要的工作。另外,一旦你的客户端(RP)完全支持和安全,添加服务器端(Provider)实际上实际上只是一个很小的添加,因为RP和OP可以共享这么多的代码。

所以,是的,DotNetOpenAuth支持比你需要更多的场景。但是,大多数图书馆不?请看An argument for the extra dependency of a library

然后给单声道开发者放一个音符,要求他们修正bug并填充单声道的特征孔,以便DotNetOpenAuth在其上运行得更好。我一再问过他们,但我想他们需要听到更多的开发者的要求。

+4

我认为你应该批评一下,基本上没有例子,一切都使用oauth lingo,库需要实现解决方法对于单声道,把它带回家并改进图书馆:-)除此之外,这是notban回答我的问题... ;-) – Sklivvz 2011-05-14 01:18:49

+2

我没有采取攻击你的批评。但StackOverflow不是一个批评的论坛,而且你的问题已经过了一半,之后你可能会通过电子邮件发送邮件列表或在项目的网站上提交问题来解决这个问题。我觉得这很有意思,因为你告诉我把它带回家并改进它,当这是一个开源项目,你可以改进自己,但你自己却没有捐赠任何东西(AFAIK)。停止抱怨并帮助自己。我没有或不需要单声道支持,所以有人(你!)应该“带回家并改进它”。 – 2011-06-11 14:48:29

+0

如你所见,我不需要DNOA ......而且这种图书馆的吸引力是开箱即用的支持,错过了......不是真的。 – Sklivvz 2011-06-14 20:30:26

2

在开发我自己的提供商时,我在试用DotNetOpenAuth之前尝试过5个不同的库,它确实给出了最好的结果。 OpenID的一个问题是,由于实现的多样性,RP和IP有时会有一定的通信难度。我第一次尝试使用不同的库时,OpenID只能在我测试过的网站中的大约50%上运行。 DotNetOpenAuth的工作约为90%。从Relying Party方面进行测试时,我会期待类似的性能相似。你可以考虑的另一种选择是Janrain的RPX,它也是高品质的。

4

我发现自己处于这种情况。其他平台(例如Python)的OAuth库更加简单和优雅,并且似乎封装了OAuth中的大部分复杂性,因此从客户端的角度来看,它只是几行代码(这是设计良好的标志图书馆,恕我直言)。

我终于安顿了Hammock--一个协助使用平静的API的库,包括OAuth 1.0A支持。

2

Identity Server的(IdSrv)

ID连接和OAuth 2.0框架ASP.NET核心

来源:https://github.com/IdentityServer

关注此介绍视频https://vimeo.com/154172925

Microso英尺AspNet.Security.OpenIdConnect.Server(ASOS)

AspNet.Security.OpenIdConnect.Server是一种先进的OAuth2 /的OpenID 连接服务器同时ASP.NET核心1.0框架(以前称为 如ASP.NET 5)和OWIN/Katana,旨在提供低层协议优先方法。

来源:https://github.com/aspnet-contrib/AspNet.Security.OpenIdConnect.Server

OpenIddict

OpenIddict旨在提供一个简单,易于使用的解决方案,以实现 任何ASP.NET核心应用开放ID连接的服务器。

来源:https://github.com/openiddict/openiddict-core

相关问题