Web services 使用OpenID的Web服务身份验证

Web services 使用OpenID的Web服务身份验证,web-services,openid,Web Services,Openid,我将为一个新的公共网站开发一个REST-ful Web服务。web服务背后的想法是让第三方为业务逻辑开发功能齐全的UI 出于安全原因,我希望避免用户将我们服务的密码提供给第三方应用程序。(也许这不应该是一个大问题?)相反,我希望在我们的网站上实现某种登录系统,为第三方应用程序提供身份验证令牌,但不让他们掌握实际密码 这让我觉得OpenID可能是一个潜在的解决方案。在我看来,它应该可以工作:实际密码由OpenID提供商处理,因此它不依赖于第三方应用程序。我认为问题可能在于各种通道,但这应该是可控的

我将为一个新的公共网站开发一个REST-ful Web服务。web服务背后的想法是让第三方为业务逻辑开发功能齐全的UI

出于安全原因,我希望避免用户将我们服务的密码提供给第三方应用程序。(也许这不应该是一个大问题?)相反,我希望在我们的网站上实现某种登录系统,为第三方应用程序提供身份验证令牌,但不让他们掌握实际密码

这让我觉得OpenID可能是一个潜在的解决方案。在我看来,它应该可以工作:实际密码由OpenID提供商处理,因此它不依赖于第三方应用程序。我认为问题可能在于各种通道,但这应该是可控的


然而,令人惊讶的是,谷歌在这方面缺乏可搜集的信息,所以我想听听苏的意见。以前有没有人实施过类似的系统?有可能吗?值得这么麻烦吗?

到目前为止,我发现了一个值得一试的链接:

这段对话提到了一个叫做“OpenID交换”的东西,这正是我喜欢的。。。但是包含的链接被破坏了,谷歌上没有多少关于它的可靠信息


看起来OAuth可能就是门票:

我完全同意你想要的是OAuth;我说在OAuth和OpenID系统上都工作过。我也在你的船上呆过几次,不得不开发RESTWeb服务api

有关OAuth的真正好的想法,以及为什么它是您想要的,请参阅以下附文:

这些都是必须阅读的,共有四个部分阅读它们:

RFC,请在阅读上述内容后再读,因为它对大多数人来说可能有点令人望而生畏:

最后可能是一些代码。我主持了几个项目,它们使用Java/Groovy来执行OAuth。一个是普通的旧OAuth客户端,另一个是用于与NetFlix进行特定交互的客户端。

如果您对REST相对缺乏经验(您还没有构建完整的web api),我建议您购买(或者最好让您的老板购买Richardson&Ruby的)“RESTful web服务”。这是一本奥莱利的书。我可以说,这是他们在过去几年中推出的一本更好的书

了解一些基于RESTful OAuth的API也可能会有所帮助。NetFlix API就是一个完美的例子:


祝你好运和快乐

我们一直在致力于一个项目,为SOAP web服务集成OpenID身份验证。您可以在找到我们的项目

您可以使用OpenID身份验证为web服务提供单一登录,并且可以通过定义服务安全策略来强制执行受信任的OpenID提供程序和用户所需的属性


这是Apache Rampart上的一个开源实现,Apache Rampart是Apache Axis2 web服务引擎的安全模块。更多信息,请访问我们的博客

不幸的是,netflix在我的国家不可用。因此,我无法阅读:(