Настройка внешнего интерфейса:
Внешний интерфейс отправляет запрос на аутентификацию, и после успешного входа в систему я устанавливаю токен JWT в файле cookie:
Код: Выделить всё
path: "/",
httpOnly: true,
secure: true,
sameSite: "None",
domain: "3vbp2t1s-8000.euw.devtunnels.ms"
});
Код: Выделить всё
$form_data_json = [];
foreach ($fields as $field) {
if (isset($field['name']) && isset($field['value'])) {
$form_data_json[$field['name']] = $field['value'];
}
}
$jwt_token = isset($_COOKIE['Token']) ? $_COOKIE['Token'] : null;
error_log('JWT Token: ' . ($jwt_token ? 'found' : 'not found'));
$headers = [
'Content-Type' => 'application/json',
];
if ($jwt_token) {
$headers['Authorization'] = 'Bearer ' . $jwt_token;
} else {
error_log('Warning: JWT Token not found in cookies.');
}
$response = wp_remote_post('https://external-api.com/receive-data', [
'method' => 'POST',
'body' => json_encode($form_data_json),
'headers' => $headers,
]);
if (is_wp_error($response)) {
error_log('Error: ' . $response->get_error_message());
}
}
add_action('wpforms_process_complete', 'capture_all_form_data_as_json', 10, 3);
Я проверил, что файл cookie действительно присутствует. в браузере и имеет правильные настройки домена и пути, но он недоступен в PHP.

Когда я пытаюсь вывести ключ только для целей тестирования, в серверной части отображается следующее:
[img]https://i. sstatic.net/EDTUdXqZ.png[/img]
Я использую интерфейс WordPress Elementor и серверную часть Nodejs Express. Функция перехвата находится в файле function.php моей темы. Он успешно отправляет данные формы, но так и не находит токен. Я также попробовал error_log: извлечь заголовки, и токена там тоже не существует.
Подробнее здесь: https://stackoverflow.com/questions/791 ... external-a
Мобильная версия