Я использую Laravel и Swagger + OpenAPI 3. Я определил securitySchema в своем главном контроллере APIC:
/**
* @OA\Info(
* version="1.0.0",
* title="My API system",
* )
* @OA\SecurityScheme(
* securityScheme="bearer",
* type="apiKey",
* in="header",
* name="bearer",
* )
*/
class ApiController extends Controller
{
// ...
}
Затем, это работает, если я добавлю безопасность в свой метод:
/**
* @OA\Get(
* path="/pets",
* @OA\Response(
* response=200,
* ),
* security={
* {"bearer": {}}
* }
* )
*/
public function index()
{
return [];
}
Но я хочу применить это ко всем моим методам и контроллерам. Я пытался поставить:
* security={
* {"bearer": {}}
* }
В других местах, но безуспешно. Является ли это возможным ? По документации это представляется возможным: https://swagger.io/docs/specification/authentication/bearer-authentication/, но я не знаю, как перевести Yml в аннотации ...
Пример документации:
# 2) Apply the security globally to all operations
security:
- bearerAuth: [] # use the same name as above