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