CORS error Api Angular

Par Yann9111, il y a 4 ans


Bonjour,

Je viens vers vous car je suis bloqué :)

J'ai une application sous Java en Back avec un front en Angular et une API. Hébergé sur le même serveur avec 2 versions une prod et un lab (development)

La prod marche super, j'ai tomcat9 pour l'api puis ma version compilée pour la prod et le lien de l'api https://xxx-api.xxxx.fr
Dans mon apache j'ai un virtualhost qui renvoie vers le bon lien par tomcat

Ma prod marche super !

Pour la lab j'ai un problème l'API marche niquel, les inscriptions passent en DB mais sur le formulaire de connexion, connexion impossible CORS errors

Access to XMLHttpRequest at 'https://lab.xxx-api.xxx.fr/login' from origin 'https://lab.xxx.fr' has been blocked by CORS policy: Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.

Mon API Service

export class ApiService { constructor(protected httpClient: HttpClient) {} //protected host = 'http://localhost:8080'; protected host = 'https://lab.xxx-api.xxx.fr'; httpOptions = { headers: new HttpHeaders({ 'Access-Control-Allow-Origin':'*', 'Cross-origin': 'cross-site' }) }; }

J'ai déjà ajoutés les headers dans tout mes VirtualHost.

Je comprend pas sur la prod ça marche super pas sur le lab, ça pourrais venir de la config tomcat9 web.xml ? Ajouter un filter ?

Merci beaucoup

Je viens d'ajouter cela dans /etc/tomcat9/web.xml

<filter> <filter-name>CorsFilter</filter-name> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> </filter> <filter-mapping> <filter-name>CorsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

Aucune réponse