cebe / cebe/php-openapi

CLI call to openapi-spec with security in path fails

Aperta
#242 6 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
PHP
Stelle
500
Fork
99
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Type: Bug
Since: 1.8.0

Description:
The CLI call `php-openapi validate example.spec.json` fails due to the fact that the security in path is transformed to a list of arrays and not a list of objects in https://github.com/cebe/php-openapi/blob/893ab104be1f5dfe5a39766703f583584e43c6e1/src/spec/SecurityRequirements.php#L64

Minimal example.spec.json to reproduce:
```json
{
"openapi": "3.0.0",
"info": {
"title": "My API",
"version": "1, 2"
},
"paths": {
"/v1/users/profile": {
"get": {
"operationId": "V1GetUserProfile",
"summary": "Returns the user profile",
"responses": {
"200": {
"description": "dummy"
}
},
"security": [
{
"test_test": ["test:scope:foo"]
}
]
}
}
},
"components": {
"securitySchemes": {
"test_test": {
"type": "oauth2",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://example.com/openid-connect/auth",
"tokenUrl": "https://example.com/openid-connect/token",
"scopes": {
"test:scope:foo": "test_scope"
}
}
}
}
}
}
}
```

I'll provide a MR with test case and a fix if you like.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start at src/spec/SecurityRequirements.php around line 64 and reproduce the failure with the minimal example.spec.json from the issue using the php-openapi validate CLI command. Trace how the security requirement is transformed, then add the mentioned test case and verify that validation succeeds with the security entry represented correctly.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
openapi, php
Ambito
api
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
52/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.