Как установить куки при кроссдоменном AJAX запросе?
Нет. Это невозможно. Если вы делаете единый логин то тут используются технологии Single Sign On
Почти точно так же как раньше, но есть небольшие дополнения.
Первое что нужно сделать это полностью перейти на https (если хотим что бы в хроме не хромало).
Сделать ajax запрос до 3rdparty.com что бы тот выставил куку, перед этим указав
req.withCredentials = true
Сервер на этот запрос должен дать ответ с нужными заголовками, например:
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: https://public.com
Vary: Origin
И конечно установить саму куку
Set-Cookie: {CookieName}={CookieValue}; Max-Age=63072000; Path=/; SameSite=None; Domain=.3rdparty.com; HttpOnly; Secure
Особо хочу отметить заголовок "Access-Control-Allow-Origin" который всегда должен иметь конкретное значение, никаких подстановочных знаков.
А также обязательные атрибуты заголовка "Set-Cookie" - "SameSite=None" и "Secure"

Этот не будет работать на всех устройствах под ios и вроде бы в огненной лисе (там вообще запрещены кросдоменные куки если пользователь не посещал сайт который выставляет куку в основном окне браузера).