I'm trying to login with my ReactJS app using the login REST API of Alfresco CE 5.1.e, but I have the next error in the console of my browser:
syntax error json parse unexpected end of data at line 1 column 1 of the json data
This error don't happen with Alfresco CE 4.2.e, and I have an application with React Native and the login it's works with 4.2.e and 5.1.e. I have configured CORS in Alfresco. I suppose which the problem is in ReactJS, I'm use the next code:
api-client.js
function loginAlfresco(user, pass)
{
return fetch(alfrescoLocal + "api/login",
{
method: 'post',
dataType: 'json',
body: JSON.stringify(
{
username: user,
password: pass
})
})
.then((res) => res.json())
.then(data => alert(data))
.catch(error => alert("Error" + error))
};
Login.js
loginAlfresco() {
loginAlfresco(this.state.username, this.state.password)
.then((data) =>
this.setState({ticket: data})
).catch((error) =>
alert(error)
)
};
The JSON sent is:
{
"username":"user",
"password":"12345"
}
The response in the console of Chrome is:
Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en http://EXTERNAL-IP:8082/alfresco/s/api/login (razón: falta la cabecera CORS 'Access-Control-Allow-Origin').
And the network Chrome:
Request URL: http://EXTERNAL-IP:8082/alfresco/s/api/login Request Method: POST Status Code: 200 OK Remote Address: localhost:8082
Any idea?
The problem was in the Alfresco CORS configuration, I change the "cors-filter-1.9.3.jar" library located in the "tomcat/webapps/alfresco/WEB-INF/lib" folder to a newer version "cors-filter-2.4.jar ", and it was solved.