GovernIB / projectebase

Projecte Base - JBoss 7.2 EAP & Open JDK 11
4 stars 0 forks source link

No se pueden realizar peticiones entre entornos que no compartan dominio #93

Closed acuevas-dgtic closed 3 years ago

acuevas-dgtic commented 3 years ago

En el arquetipo viene habilitado un filtro que teóricamente permite realizar llamadas al api desde dominios diferentes (filtro CORS ), pero por lo que hemos probado no funciona, por lo que no se pueden realizar peticiones entre entornos que no compartan dominio, lo que provoca, por ejemplo, que para realizar pruebas no se pueda hacer uso del https://editor.swagger.io/. Se debería revisar el arquetipo para verificar esta funcionalidad.

antonireus commented 3 years ago

Sembla que hi ha dos problemes:

1 - el filtre només s'aplica a cridades REST, no s'aplica per obtenir un fitxer, per tant, no es possible carregar directament amb una url el fitxer "openapi.json". Caldria baixar el fitxer /projectebase/api/openapi.json manualment i pujar-lo fent servir "import file", enlloc de "import url". (i caldria editar la darrera línia, afegint el nom del servidor a al valor de "url" dins "servers". Caldrà afegir un Filter que s'apliqui sobre openapi.json que fiqui les capçaleres CORS

2 - L'api està autenticada, però sembla que l'especificació de CORS indica que les preflight requests amb el mètode OPTIONS es fan sense credencials d'usuari, per tant cal modificar el web.xml perquè les cridades amb el mètode OPTIONS no requrereixin autenticació.

D'altra banda, he vist que per provar-ho cal que el servidor de projectebase/api estigui sobre https, sinó el navegador evita la càrrega.

antonireus commented 3 years ago

s'han corregit els dos punts indicats