Phonegap を使用して展開するモバイル アプリに取り組んでいます。
Drupal 7 サービスを使用してログインできるようになり、セッション名とセッション ID も取得しています。しかし、ユーザーをログアウトできません。私がそれをしているときでも..クロムコンソールでこの問題が表示されます:406(受け入れられません:)
ヘッダーを「Cookie」、次に「sessionname = sessionid」形式で送信しようとしましたが、うまくいきませんでした。誰かが方法を提案できますか。
から CSRF トークンを追加し、 をYOUR_SITE/services/session/token
追加したのと同じ方法でヘッダーに追加する必要がありCookie
ます。
'X-CSRF-Token: ' + $token
そして、それがPUT
であることを確認してください。ここに良い例があります:
関連セクションは次のようになります。
$.ajax({
url: "http://your_url/endpoint/user/logout.json",
type: 'post',
dataType: 'json',
beforeSend: function (request) {
request.setRequestHeader("X-CSRF-Token", token);
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Failed to logout');
alert(JSON.stringify(jqXHR));
alert(JSON.stringify(textStatus));
alert(JSON.stringify(errorThrown));
},
success: function (data) {
alert("You have been logged out.");
}
});
これは私にとってはうまくいきます。
$http({
method: 'POST',
url: drupal_instance + api_endpoint + 'user/logout',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json',
'X-CSRF-Token': user.token
}
})
.success(function (data, status, headers, config) {
alert('Success');
})
.error(function (data, status, headers, config) {
alert('Error');
});