在nelmio沙箱中添加oauth2支持

时间:2015-04-30 12:49:09

标签: symfony oauth-2.0 fosrestbundle nelmioapidocbundle

我正在使用Symfony2中的REST API(使用FosRestBundle创建)。

在启用oauth之前,我可以尝试nelmio提供的沙箱中的API方法。

示例:

GET /api/products/{id}.json

但是现在为了调用API方法而启用了oauth,我必须将oauth标记添加为查询字符串。

示例:

GET /api/products/{id}.json?access_token=ZWRhNTE2MGUzZWE4ZTIzNDIxMGUxNjZkY2Yx...

这些api调用在nelmio外面没有任何问题。

为了激活对nelmio中oauth的支持,我在/app/config.yml中添加了以下配置:

nelmio_api_doc: 
    sandbox:
        authentication:            
            name: access_token      
            delivery: http
            type:     bearer

之后它会在屏幕顶部要求api key,但是如果我在那里设置了oauth令牌,我在尝试使用沙盒时仍然会收到未经授权的响应。

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

我还有一个基于FOSRestBundle的API。我不确定您是否需要在身份验证块中强制使用名称。

此配置对我有用:

nelmio_api_doc:
    name: My awesome service
    sandbox:
        authentication:
            delivery: http
            type:     bearer