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

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

出于安全考虑,我想避免用户不得不向第三方应用程序提供我们的服务密码。 (也许这不应该是一个大问题?)相反,我正在寻找在我们的网站上实现某种登录系统,为第三方应用程序提供了一个验证令牌,但保留了实际的密码。

这使得我认为OpenID可能是一个潜在的解决方案。在我看来,它应该工作:实际的密码由OpenID提供商处理,所以它不在于第三方应用程序。我认为麻烦可能在于各种传播,但这应该是可以管理的。

但是,有一个令人惊讶的缺乏Googleable的信息,所以我想要SO的意见。有没有人实现过类似的系统?甚至有可能吗难道值得吗?

解决方法

我完全同意你想要的是OAuth;我说这是在OAuth和OpenID系统上工作的。我也在你的船上几次,不得不开发一个REST Web服务api。

对于一个非常好的OAuth的想法,为什么你想看到这些附件文章

这些必须阅读,有四个部分阅读全部:
http://hueniverse.com/oauth/guide/

RFC,阅读之后阅读,因为它可能有点令人生畏的大多数:
http://oauth.net/core/1.0

然后最后可能会有一些代码我有几个项目托管使用Java / Groovy做OAuth。一个是普通的老OAuth客户端,另一个是与NetFlix进行特定交互的客户端。
http://www.blueleftistconstructor.com/projects/

如果您对REST相对缺乏经验(您还没有构建完整的Web api),我建议您购买(或更好地让您的老板)“Richful”和“RESTful Web服务”红宝石。这是一本O’Reilly的书。我可以说,这是他们在过去几年登场的最好的一本书。

这可能有助于查看一些基于RESTful OAuth的API。 NetFlix API是一个很好的例子:http://developer.netflix.com/docs

祝你好运快乐编码!

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些