【问题标题】:OAuth access token for internal calls内部调用的 OAuth 访问令牌
【发布时间】:2013-05-02 19:37:38
【问题描述】:

我目前正在努力构建一个 API 驱动的 symfony2 网络应用程序。只是一个学习 symfony2 和 REST 的基本应用程序。

它将基于 RESTful api。对 API 的调用将使用 OAuth 进行身份验证。

例如: 如果客户端应用程序想要通过 API 获取数据(有关所有水果的信息),则需要向 url 发出 GET 请求并将访问令牌作为参数传递。所以 url 看起来像这样。

http://www.mysite.com/api/fruits.json?=<access token>

现在的问题是,我的一项操作也需要相同的数据。

我需要一些帮助。为了在我的一项操作中从上面的 url 获取数据,我还需要在 url 中发送访问令牌。

我如何获得这个访问令牌??

是否应该有一个固定令牌用于我的应用程序中的所有此类调用??

【问题讨论】:

    标签: rest symfony oauth-2.0 fosrestbundle


    【解决方案1】:

    如果你在这里尝试做你想做的事情,你的基本应用项目将会变得多姿多彩。

    基本上,您需要为此实现一个身份验证服务器。 i) 首先,应用程序应该注册一个范围;
    ii) 用户使用该应用程序登录到身份验证/授权服务器。
    iii) 服务器验证应用程序是否有权访问范围以及用户是否已在您的系统中注册。
    iv) 服务器创建一个访问令牌(这是一个 HMAC 签名字符串)并返回到您的应用程序。
    v) 然后应用程序使用令牌访问端点(restful API)。
    vi) 然后 RESTful 服务在内部将令牌发送到服务器并获取为其调用的 customerID 并执行它应该执行的操作。

    我曾经写过一个关于如何创建 OAuth 服务/提供者的答案 - How would an efficient OAuth2.0 server / provider work?

    此外,OAuth 的设计使得客户端应用程序/第三方软件可以代表用户访问资源。一个非常简单的例子是 = 一个应用程序代表您在您的 Facebook 墙上发布一些内容。它实际上是访问您拥有的资源(墙)并发布到它。您不需要 OAuth 只是为了获取一些数据 - 还有其他方法可以保护 API。

    【讨论】:

      猜你喜欢
      • 2019-07-23
      • 1970-01-01
      • 1970-01-01
      • 2013-05-26
      • 2018-02-17
      • 2016-05-20
      • 2016-12-03
      • 1970-01-01
      • 2015-04-01
      相关资源
      最近更新 更多