Swagger:在何处设置用于授权的API密钥

时间:2019-04-29 10:03:05

标签: annotations swagger swagger-php

我使用Nelmio APi Doc 3.4。昂首阔步。 我想为我的api使用apiKey授权。 我在nelmio_api_doc.yaml中设置配置:

nelmio_api_doc:
    documentation:
            schemes: [https]
            securityDefinitions:
                app_api_key:
                    type: apiKey
                    description: 'App Api Key'
                    name: Authorization
                    in: header
            security:
                - app_api_key: []

在我的控制器中,我在注释中设置了参数:

....
@SWG\Parameter(
     *         name="Authorization",
     *         in="header",
     *         required=true,
     *         type="string",
     *         default="PUT HERE THE KEY",
     *         description="Authorization"
     *     )
*/
public function getProductAction()
{
....
}

但是我应该在哪里设置我的ApiKey?例如,我有一个apiKey“ abc123”,我想对照插入键检查它吗? 我不知道此功能在哪里。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

我认为您应该使用特定的批注进行安全授权:

use Nelmio\ApiDocBundle\Annotation as Nelmio;

/**
 * @Nelmio\Security(name="app_api_key"),
 * @SWG\Get()
 */
public function getProductAction()
{
    //...
}