Soucis avec le Authorization header


#1

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


(David Pilato) #2

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

Essaye en 2.2.x pour voir.


#3

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 ?


(David Pilato) #4

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.


(system) #5