Я установил «darkaonline / l5-swagger»: «~ 3.0», чтобы получить Swagger в моем проекте Laravel 5.3, и я хотел бы установить значение api_key для пользователя, который проверяет мой api с помощью swagger, получает доступ или не сравнивает значение api_key что он входит с одним моим.
У меня есть это на моем security.php:
/**
* @SWG\SecurityScheme(
* securityDefinition="api_key",
* type="apiKey",
* in="header",
* name="api_key"* )
*/
и на моем UserController:
/**
* @SWG\Post(
* path="/add_user",
* tags={"user"},
* operationId="adduser",
* summary="Add a new user to the store",
* description="",
* produces={"application/xml", "application/json"},
* @SWG\Parameter(
* name="name",
* in="formData",
* type="string",
* description="Name of the user",
* required=true,
* ),
* @SWG\Parameter(
* name="lastname",
* in="formData",
* type="string",
* description="Lastname of the user",
* required=true,
* ),
* @SWG\Parameter(
* name="email",
* in="formData",
* type="string",
* description="Email of the user",
* required=true,
* ),
* @SWG\Parameter(
* name="password",
* in="formData",
* type="string",
* description="password of the user",
* required=true,
* ),
* @SWG\Parameter(
* name="website",
* in="formData",
* type="string",
* description="website of the user",
* required=true,
* ),
* @SWG\Parameter(
* name="platform",
* in="formData",
* type="string",
* description="website of the user",
* required=true,
* ),
* @SWG\Response(
* response=405,
* description="Invalid input",
* ),
* security={
* {
* "api_key": {},
* }
* },
* )
*/
но я могу сохранить нового пользователя, даже если я не добавлю значение api_key в мой URL или диалог авторизации. Что мне не хватает?
Вам все еще нужно проверить apikey самостоятельно. Swagger только для того, чтобы сгенерировать документацию, он не влияет на ваш реальный код.
Других решений пока нет …