我们正处于为计算语言学应用程序设计RESTful /面向资源的Web服务API的早期阶段。由于我们计划服务的许多资源都是受权限限制的,因此关键的设计决策是指定平台,以便每个资源提供者都可以公开自己的符合API规范的Web服务。通过这种方式,权利所有者可以保持对其内容的控制(从而能够随意限制或拒绝访问)以及与消费者的直接关系,同时仍然能够参与协作网络。
同时,为了简化为此服务编写客户端的工作,我们希望允许客户端通过一个端点访问分布式服务,服务器处理内容协商并从适当的提供者检索。
目前,我们处于认证/授权方案的僵局。我们的一个人认为中央认证注册管理机构(技术)简单,但其他人则担心这种方案的组织复杂性。
在我看来,基于对技术的有限理解,OpenID和OAuth的组合可以解决问题,客户端通过OpenID对端点进行身份验证,服务器对用户采取行动代表使用OAuth的各种内容提供商。
我只见过人类出席干预的实施(例如stackoverflow,twitter等),我仍然需要对这些技术进行更多的研究。
这样的方案是否适用于自动化Web服务,还是会使客户端难以实现和运行?
答案 0 :(得分:0)
OpenID确实假设用户在场以驱动Web浏览器与其OpenID提供程序进行交互并执行初始身份验证。但是,您可以让用户使用OpenID对端点进行身份验证,并获得OAuth授权,以便客户自动使用。
您应该能够在不使客户端太难实现的情况下执行此操作,尤其是如果客户端位于允许其生成Web浏览器以驱动该初始OpenID位的平台上。