2017-10-11 66 views
0

这是问题所在,露天认证令牌/ GET调用(角)

我尝试从一个js我的露天社区服务器(角4)脚本获得认证令牌。请求似乎被“CORS头失踪”被封锁...

登录/密码都OK,因为我可以在浏览器中直接尝试登录URL,我得到预期的结果(XML)是这样的:

https://www.my-url.com/alfresco/service/api/login?u=username&pw=password

我得到这个结果:

enter image description here

现在,我来给我的web应用程序,我需要从一个HTTP调用检索此票,像这样(与角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)); 
    }); 
} 

我硬编码了U/PW变量,我也尝试命名为“用户” &“密码”,我试图GET方法了,但是没有什么变化,我回来的仅仅是包含CORS问题。结果在控制台:

选项XHR https://www.my-url.com/alfresco/service/api/login [HTTP/1.1 200 OK 39毫秒]

跨来源请求阻止:同源策略不允许读 远程资源...原因:CORS头 'Access-Control-Allow-Origin'缺失。

请求数据:

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" 

我也试着删除我手动创建请求头,但没有效果...

+3

你在室外无法使用CORS吗? –

+0

嗨@Sanjay Patel感谢您的评论。嗯,我想它的启用,因为我的http在浏览器中工作。顺便说一句,我做了几个搜索如何启用cors在露天,但没有发现任何明确/相关的...你能帮我解决这个问题吗? – Julo0sS

+0

你正在使用哪个版本的露天场景? –

回答

1

如何启用露天V5.2 CORS?在模块/平台文件夹中放置enablecors-1.0.jar

+0

我的Alfresco版本是5.1.0(r127059-b7)这不起作用。我仍然有这个“错过标题在回应”错误...奇怪... – Julo0sS

+0

感谢您的帮助,你没有指向我正确的方向,我发现这一点:https://community.alfresco.com/message/812776 -authentication-json-parse-error-with-reactjs-using-alfresco-51e-ce-login-rest-api?q = Alfresco%205.1%20CORS#comment-813702它解决了我的问题:) – Julo0sS