«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как установить файлы cookie или заголовки для другого домена во время перенаправления?

Как установить файлы cookie или заголовки для другого домена во время перенаправления?

Опубликовано 1 ноября 2024 г.
Просматривать:507

How to Set Cookies or Headers for a Different Domain During a Redirect?

Как перенаправить с одного домена на другой и установить файлы cookie или заголовки для другого домена?

HTTP-перенаправления не позволяют устанавливать собственные заголовки или файлы cookie для цели домен. Кроме того, браузеры не позволяют устанавливать файлы cookie для домена, отличного от того, который отвечает заголовком Set-Cookie.

Решение 1. Перенаправление с параметром запроса, а затем установка файла cookie

  1. Перенаправление с из домена A в домен B с токеном доступа, переданным в качестве параметра запроса.
  2. Домен B получает запрос и устанавливает свой собственный файл cookie с использованием токена.

Решение 2: Cross-Origin Связь с Window.postMessage()

  1. Добавьте скрытый iframe в домен A, указывающий на домен B.
  2. Отправьте токен доступа в домен B с помощью Window.postMessage().
  3. Домен B сохраняет токен в localStorage или устанавливает файл cookie с помощью JS.
  4. Сообщите домену A о том, что токен сохранен, и перенаправьте пользователя в домен B.

Решение 3. Обмен токенами на стороне сервера

  1. Используйте тег Как установить файлы cookie или заголовки для другого домена во время перенаправления? в домене A, чтобы указать на домен B с токеном доступа в качестве параметра запроса.
  2. Домен B отвечает Заголовки Set-Cookie при получении запроса.
  3. Используйте fetch или XMLHttpRequest (с учетными данными и включенным CORS), чтобы отправить токен непосредственно в домен B.
  4. Домен B устанавливает файл cookie при получении доступа токен.

Важные примечания:

  • Чтобы решения 2 и 3 работали, необходимо включить все файлы cookie в настройках браузера.
  • Использовать SameSite=None; Флаги безопасности в файлах cookie для Решения 3.
  • Строка запроса в Решении 1 предоставляет токен доступа и представляет угрозу безопасности.
  • Решение 3 требует включения CORS в целевом домене и явного указания происхождения на серверная часть.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3