5

OAuth 允许用户将一个站点上他的私有资源的访问权限授予另一个站点。但这究竟是如何发生的。如果我想在我的网站中提供 OAuth 功能(作为服务提供者和消费者),我该如何去做。我正在使用基于 Fedora 13 的服务器。是否可以配置 Round Cube / Squirrel Mail 来提供这些服务。就像现在我所有的用户在服务器中都有邮件帐户一样,我希望邮件中的凭据用于提供 OAuth 服务。

4

3 回答 3

4

如果你想成为数据的提供者,那么你必须在你的站点上实现 OAuth 服务器,如果你想成为消费者,你必须在你的站点上实现 OAuth 客户端。

您还应该阅读一些文章和教程以更好地理解该协议,因为它是一个允许保护 API 的协议,也就是说,与安全相关的所有内容都应该被实现它的开发人员很好地理解。

如果您是提供者,则 1.0 版本的协议按以下方式工作:

  1. 消费者需要访问最终用户的私人数据
  2. 提供者向消费者发出令牌
  3. 最终用户授权令牌
  4. 消费者可以使用该令牌对最终用户的私人数据提出授权请求

好的起点是:http ://hueniverse.com/oauth/

当您决定是否实施 1.0a 或 2.0 版本的协议时,您还可以阅读 RFC。到目前为止,我只实施了 1.0a,所以我无法给出更好的建议。我猜2.0版本有更多的可能性,大家都说更容易实现。就更简单而言,1.0a 也不难实现,因为客户端和服务器都有很好的开源库,如果您了解协议的机制,您可以设置和运行服务器或客户端 1 天。

当然,如果你想做一个好的服务器,具有不同的访问范围、范围的继承以及如果你的 API 复杂且可扩展,那么无论你选择 1.0a 还是 2.0 OAuth,你都必须在这方面做很多工作。版本

于 2011-06-16T07:33:40.563 回答
3

演示 oauth 流程的简单示例。理解这个概念有助于相应地进行设计: 在此处输入图像描述

于 2011-06-28T09:10:50.793 回答
2

至于“我该怎么做?”

那里有很多不错的图书馆。这是一个很好的列表: http: //oauth.net/code/

于 2011-06-30T18:28:09.353 回答