Soucis avec le Authorization header

Bonjour,

Je sais que ES fourni une api javascript, mais j'aimerais configurer moi même un service d'authentification via l'API REST.

J'ai configuré les CORS dans mon fichier elastisearch.yml, comme ceci :
http.port: 9200 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-methods: "OPTIONS, HEAD, GET, POST, PUT, DELETE" http.cors.allow-headers: "X-Requested-With, X-Auth-Token, Content-Type, Content-Length, Accept, Authorization"

Le problème, c'est que je n'arrive toujours pas à faire passer mon header Authorization. Et je reçois cette erreur :
XMLHttpRequest cannot load http://192.168.1.2:9200/_shield/authenticate. Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response.

Voici ma petite fonction pour tester l'authentification (je précise que je travail avec AngularJS) :
var authentication = function Authentication() { $http({ method: 'GET', url: 'http://192.168.1.2:9200/_shield/authenticate', headers: { 'Authorization': 'Basic YWRtaW46UG91ZXRwb3VldDYwOQ==' } }).then(function successCallback(response) { console.log(response); }, function errorCallback(response) { console.log(response); }); };

Y a t-il quelque chose que j'ai manqué ?

Merci d'avance pour votre aide :wink:

Morgan

Si tu essayes la version 2.3.x , elle a un bug.

Essaye en 2.2.x pour voir.

Yep ! C'était bien un bug de la 2.3, ça fonctionne niquel.

Tiens tant que j'y suis, j'ai un message disant que je dois mettre à jour ma licence.
Est-ce que sans licence shield fonctionne normalement ?
Si non, combien coûte une licence ?

Non. Shield ne fonctionne pas sans Licence.
Je ne connais pas exactement les tarifs mais envoie moi un mail à david at elastic dot co et je te connecte aux bonnes personnes.