est ici le problème,demande de jeton d'authentification alfresco avec ajax POST/GET appel (angulaire)
J'essaie d'obtenir un jeton d'authentification de mon serveur communautaire alfresco avec un js script (angulaire 4). La demande semble être bloqué par « en-tête CORS manquant » ...
Le login/mot de passe sont ok puisque je peux essayer l'URL de connexion directement dans mon navigateur et j'obtenir le résultat attendu (xml) comme ceci:
https://www.my-url.com/alfresco/service/api/login?u=username&pw=password
Je reçois cela comme un résultat:
maintenant, je viens à mon application web et je dois récupérer ce billet à partir d'un appel http, comme celui-ci (avec un service angulaire 4):
getTicket(user: User): Observable<boolean>{
let headers = new Headers();
headers.append('Access-Control-Allow-Origin','*');
return this.http.post('https://www.my-url.com/alfresco/service/api/login',{'u':'username','pw':'password'},{headers:headers}).map(response => {
console.log('response : '+JSON.stringify(response));
});
}
Je codait le u/pw les variables, j'ai aussi essayé de les nommer « utilisateur » & « mot de passe », et j'ai essayé la méthode GET aussi, mais rien ne change, la seule chose que je reviens est un problème Cors . Résultat dans la console:
OPTIONS XHR https://www.my-url.com/alfresco/service/api/login [HTTP/1.1 200 OK 39 ms]
Requête Cross-origin Bloqué: la même origine politique lecture de la interdit ressource distante ... Motif: en-tête CORS 'Access-Control-Allow-Origin' manquant.
Demande de données:
Response Headers :
Allow: "OPTIONS, GET, POST"
Content-Length: "0"
Date : "Wed, 11 Oct 2017 14:37:45 GMT"
Server: "Apache-Coyote/1.1"
Request Headers :
Host : "www.my-url.com"
User-Agent : "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
Accept-Language : "en-US,en;q=0.5"
Accept-Encoding: "gzip, deflate"
Access-Control-Request-Method: "POST"
Access-Control-Request-Headers: "access-control-allow-origin"
Origin: "http://localhost"
Connection: "keep-alive"
J'ai aussi essayé de supprimer les en-têtes que je crée manuellement la demande, mais pas d'effet ...
Avez-vous pas CORS dans Alfresco? –
Salut @Sanjay Patel merci pour votre commentaire. Eh bien, je suppose que c'est activé depuis mon http fonctionne dans le navigateur. Btw j'ai fait plusieurs recherches sur comment activer les cors dans alfresco mais je n'ai rien trouvé de clair/pertinent à ce sujet ... Pouvez-vous m'aider à résoudre ce problème? – Julo0sS
Quelle version d'alfresco utilisez-vous? –