Il y a un serveur à partir duquel j'utiliser les services Web (https://example.com/zzzzzz/rest/services/)Consommant service REST avec l'authentification SSO
Si je colle tout cela dans Chrome, je suis invité à vous authentifier. Je mets mes références connues et je suis libre de me promener.
Cependant, si je tente d'accéder à quelque chose comme:
https://example.com/zzzzzz/rest/services/tttttt/uuuuuu/MapServer
en Javascript avec XMLHttpRequest, je reçois une réponse 401 non autorisée chaque fois. Il fonctionne si j'ajoute un en-tête à cette demande avec mes lettres de créance:
xml_req.setRequestHeader("Authorization", "Basic " + btoa("username:password");
Cependant, cela signifierait pour exposer ce nom d'utilisateur et mot de passe dans tous les codes JS et également ajouter un en-tête à chaque XMLHttpRequest (que je ne peux pas faire à ce point). Le serveur ci-dessus n'est pas le mien, donc je ne peux rien faire d'autre que consommer des services après que je me connecte.
Est-ce que je peux obtenir mon propre serveur (IIS) pour gérer cette authentification pour moi chaque fois que j'essaie d'accéder à ces services?
Informations supplémentaires: Tout est pour un serveur ArcGIS.
Cela pourrait vous aider, http: //chrisroos.co.uk/blog/2013-03-08-the-behaviour-of-xmlhttprequest-withcredentials-when-used-with-cors – cracker
Bonjour, merci pour la réponse! Cependant, il semble qu'à la fin il définit toujours l'en-tête de la requête et code le nom d'utilisateur/mot de passe (en base64). Je pense que je devrais faire en quelque sorte un serveur proxy qui transmet les demandes et renvoie les résultats, mais gère également l'authentification pour moi. Cependant, je ne suis pas sûr de savoir comment faire ça ... –