Моя цель - войти в систему и выйти из системы в Drupal (через конечные точки REST) с помощью Javascript.
Успешно входит в систему:
const url = 'https://localhost/user/login?_format=json';
const options = {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
{"name": "user "pass": "password"}
})
}
doFetch(url, options)
и возвращает json
{
csrf_token: CT###,
logout_token:LT###,
### etc.
}
плюс повар ie .txt
SSESSabc = 1234
В бэкэнде Drupal логин пользователя подтвержден!
Но не удается выйти: (
const url = 'https://localhost/user/logout?_format=json&token=LT###';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Cookie': 'SSESSabc',
'X-CSRF-Token': 'LT###'
}
}
doFetch(url, options)
с ответом:
{
"message": "'csrf_token' URL query argument is invalid."
}
почему?
Ответ тот же, использую ли я имя или значение повара ie. Cors служб Drupal:
cors.config:
enabled: true
allowedHeaders: ['x-csrf-token','authorization','content-type','accept','origin','x-requested-with', 'access-control-allow-origin','x-allowed-header','*']
allowedMethods: ['GET', 'POST']
allowedOrigins: ['*']
exposedHeaders: false
maxAge: false
supportsCredentials: true