Можно ли установить cookie на другой домен
Что проверяют
Понимаете ли вы, чем домен отличается от сайта, и знаете ли, что ограничение на cookie задаёт браузер, а не сервер. Заодно смотрят, не путаете ли вы CORS с правилами владения cookie: это разные механизмы, которые в разговоре постоянно смешивают.
Как отвечать
Нет, поставить cookie произвольному чужому домену нельзя ни из JavaScript, ни заголовком ответа. Браузер отбросит Set-Cookie, чей Domain не покрывает ответивший хост, и так же отбросит запись через document.cookie.
Вверх по своему дереву поддоменов писать можно: страница на поддомене вправе поставить cookie с Domain родительского домена, и она станет видна всем поддоменам. А вот выше регистрируемого домена не пустят: список публичных суффиксов не даст поставить cookie на зону целиком.
Сторонний сервис может поставить cookie себе, когда браузер идёт к нему с вашей страницы. Для этого нужны SameSite=None вместе с Secure, а на запросах через fetch ещё credentials: "include" на клиенте плюс Access-Control-Allow-Credentials и конкретный источник вместо звёздочки на сервере. Но строить на этом новую схему рискованно: сторонние cookie в части браузеров блокируются по умолчанию или изолируются по сайту.
Рабочие варианты, когда нужно общее состояние: держать сервисы на поддоменах одного домена и ставить cookie родителю, обмениваться через редирект на домен провайдера, как делает единый вход, либо хранить значение у себя.
Где спотыкаются
Считают, что CORS разрешает установку cookie на чужой домен. CORS управляет тем, прочитаете ли вы ответ, и не меняет принадлежность cookie: чужой сервер по-прежнему ставит её себе.
Путают домен и сайт. Для SameSite границей служит регистрируемый домен, поэтому два поддомена одного домена считаются одним сайтом, а два своих домена в разных зонах разными. Отсюда следует и неприятное: поддомен, отданный постороннему сервису, сможет писать cookie родителю.
Проверяют схему в одном браузере. Сторонние cookie ведут себя по-разному, и сценарий, работающий на разработке, у части пользователей молча ломается. Если нужна привязка строго к хосту, cookie ставят с префиксом __Host-, без Domain и с корневым путём.