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

问题描述 投票:0回答:1

我使用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”,我想对照插入键进行检查吗?我不知道此功能在哪里。有人可以帮我吗?

annotations swagger swagger-php
1个回答
0
投票

我认为您应该对安全授权使用特定的注释:

use Nelmio\ApiDocBundle\Annotation as Nelmio;

/**
 * @Nelmio\Security(name="app_api_key"),
 * @SWG\Get()
 */
public function getProductAction()
{
    //...
}
© www.soinside.com 2019 - 2024. All rights reserved.