Жрет с логином API (Drupal 8) - PullRequest
0 голосов
/ 09 июля 2019

Я хотел бы использовать свой внешний API для подключения моих пользователей.Guzzle отправляет POST с введенными данными, а API возвращает код 200.

Если это 200, пользователь может перейти на домашнюю страницу.

Моя проблема заключается в том, что, когда API отправляетme back 200 drupal не заходит на домашнюю страницу, а остается на странице входа

function mymodule_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
    if ($form_id == 'user_login_form') {
        $form['#validate'][] = 'test_validate';
    }
}

function test_validate(&$form, \Drupal\Core\Form\FormStateInterface $form_state) {
    $values = $form_state->getValues();
    $userName = $values['name'];
    $password = $values['pass'];

    $url = 'http://localhost:5000/connect';
    $method = 'POST';
    $options = [
        'form_params' => [
            'user' => $userName,
            'password' => $password
        ]
    ];

    $client = \Drupal::httpClient();

    $response = $client->request($method, $url, $options);
    $code = $response->getStatusCode();
    if ($code == 200) {
        $form_state->setRedirect('<front>');
    }
}
...