Аутентификация сессии сервисов Drupal 7 с React и axios

У меня есть приложение React, из которого я захожу на несколько сайтов Drupal 7 через сервисы 3.20.

Моя проблема заключается в следующем:

Если состояние моего приложения не синхронизируется с постоянным входом в систему D7, например, если состояние моего приложения вышло из системы, но присутствует файл cookie сеанса D7, я не могу войти в систему, и появляется всплывающее окно для базовой аутентификации.

Я думаю, что это потому, что запрос на вход отправляет cookie вместе с запросом, и я пытаюсь войти в систему уже вошедшего в систему пользователя. Кажется, у меня нет доступа к файлам cookie из других доменов, и я не могу определить, присутствуют ли файлы cookie сеанса, и соответствующим образом изменить состояние моего приложения. Мой код запроса ниже.

  login = () => {
    return axios({
      method: 'post',
      url: `https://${this.login.credentials.apiUrl}/restful/u/login`,
      headers: {
        'Content-Type': 'application/json',
      },
      data: {
        username: this.login.credentials.user,
        password: this.login.credentials.password
      },
      withCredentials: true,
    })
  };

  logout = () => {
    return axios({
      method: 'post',
      url: `https://${this.login.credentials.apiUrl}/restful/u/logout`,
      headers: Object.assign(
        {},
        this.login.requestHeaders, // CSRF-token
        {'Content-Type': 'application/json'}
      ),
      withCredentials: true
    })
  };

Если я устанавливаю login-функции с помощью Credentials: false, я могу войти в систему, но больше не могу выполнять запросы, так как заголовок set-cookie игнорируется, и cookie не устанавливается.

Есть ли способ предотвратить отправку cookie сеанса, в то же время позволяя установить заголовки cookie? Или есть ли способ справиться с этим в конце Drupals?

Кроме того, почему я получаю приглашение для базовой аутентификации, даже если она отключена в службах D7? Приглашение даже не работает с теми же учетными данными, что и запрос.

0 ответов

Другие вопросы по тегам