REST Drupal 8 user / logout с logout_token и cook ie, но ошибка с csrf_token - PullRequest
0 голосов
/ 22 марта 2020

Моя цель - войти в систему и выйти из системы в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...