Я хотел бы использовать свой внешний 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>');
}
}