cebe / cebe/php-openapi

CLI call to openapi-spec with security in path fails

Abierto
#242 6 comentarios 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
PHP
Estrellas
500
Forks
99
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Empieza en src/spec/SecurityRequirements.php alrededor de la línea 64 y reproduce el fallo con el example.spec.json mínimo del issue usando el comando CLI de validación de php-openapi. Sigue cómo se transforma el requisito de seguridad, añade después el caso de prueba mencionado y verifica que la validación tiene éxito con la entrada de seguridad representada correctamente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
openapi, php
Área
api
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
52/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.