Ich habe Web-Anwendung auf Drupal 7 basiert, und ich möchte erstellen ionische App mit dieser Web-App mit REST verbunden.Drupal REST Return 301 nach dem Einloggen von ionischen Anwendung
Login Aktion funktioniert gut, aber nach dem Login bekomme ich immer Status 301 Moved Permamently, egal was ich von REST aufrufen.
Aber wenn ich das gleiche mit ARC oder POSTMASTER mache, funktioniert alles gut. Ich kann mich erfolgreich anmelden, Token erfolgreich erhalten und mich ohne Probleme abmelden.
Ich denke, der Grund ist Header nicht richtig eingestellt. Wenn ich ARC oder POSTMASTER verwende, enthält meine Anfrage Cookie mit session_name und sessid, die während der Anmeldung von drupal erhalten wurden.
Auch ich kann X-CSRF-Token in Header nicht setzen.
Aber wenn ich versuche, es auf eckigen zu setzen, ändert sich nichts auf Anfrage [Header werden nicht gesetzt].
Mein Login-Controller auf ionische (eckig):
var login = function(name, pw) {
return $q(function(resolve, reject) {
var data = "username="+name+"&password="+pw;
var config = {
headers : {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
}
}
$http.post('http://example.com/user/login.json', data, config)
.then(
function(response){
// success callback
storeUserCredentials(name + '.' + response.data.token, response.data.session_name, response.data.sessid);
storeUserRole(response.data.user.roles);
resolve('Login success.');
},
function(response){
// failure callback
//console.log('error '+response);
reject('Login Failed.');
}
);
});
};
Mein Logout-Controller auf ionische (eckig):
var logout = function() {
var data = "username="+name+"&password="+pw;
var config = {
headers : {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
'X-CSRF-Token': token,
'Cookie':session_name + '=' + sessid
}
}
$http.post('http://example.com/user/logout.json', data, config)
.then(
function(response){
// success callback
destroyUserCredentials();
},
function(response){
// failure callback
destroyUserCredentials();
}
);
};