"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 리디렉션 중에 다른 도메인에 대한 쿠키 또는 헤더를 설정하는 방법은 무엇입니까?

리디렉션 중에 다른 도메인에 대한 쿠키 또는 헤더를 설정하는 방법은 무엇입니까?

2024-11-01에 게시됨
검색:285

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

한 도메인에서 다른 도메인으로 리디렉션하고 다른 도메인에 대한 쿠키 또는 헤더를 설정하는 방법은 무엇입니까?

HTTP 리디렉션에서는 대상에 대한 사용자 정의 헤더 또는 쿠키 설정을 허용하지 않습니다. 도메인. 또한 브라우저는 Set-Cookie 헤더로 응답하는 도메인과 다른 도메인에 대한 쿠키 설정을 방지합니다.

해결 방법 1: 쿼리 매개변수로 리디렉션한 다음 쿠키 설정

  1. 다음에서 리디렉션 쿼리 매개변수로 전달된 액세스 토큰을 사용하여 도메인 A에서 도메인 B로.
  2. 도메인 B는 요청을 수신하고 토큰을 사용하여 자체 쿠키를 설정합니다.

해결책 2: Cross-Origin Window.postMessage()와의 통신

  1. 도메인 B를 가리키는 도메인 A에 숨겨진 iframe을 추가합니다.
  2. Window.postMessage()를 사용하여 도메인 B에 액세스 토큰을 보냅니다.
  3. 도메인 B는 localStorage에 토큰을 저장하거나 JS를 사용하여 쿠키를 설정합니다.
  4. 도메인 A에 토큰이 저장되었음을 알리고 사용자를 도메인 B로 리디렉션합니다.

해결 방법 3: 서버 측 토큰 교환

  1. 도메인 A에서 리디렉션 중에 다른 도메인에 대한 쿠키 또는 헤더를 설정하는 방법은 무엇입니까? 태그를 사용하여 액세스 토큰을 쿼리 매개변수로 사용하여 도메인 B를 가리킵니다.
  2. 도메인 B는 다음으로 응답합니다. 요청 수신 시 쿠키 헤더를 설정합니다.
  3. 가져오기 또는 XMLHttpRequest(자격 증명 및 CORS 활성화)를 사용하여 토큰을 도메인 B로 직접 보냅니다.
  4. 도메인 B는 액세스 수신 시 쿠키를 설정합니다. token.

중요 사항:

  • 솔루션 2와 3이 작동하려면 브라우저 설정에서 모든 쿠키를 활성화해야 합니다.
  • SameSite=없음 사용; 솔루션 3에 대한 쿠키의 보안 플래그입니다.
  • 솔루션 1의 쿼리 문자열은 액세스 토큰을 노출하고 보안 위험을 초래합니다.
  • 솔루션 3을 사용하려면 대상 도메인에서 CORS를 활성화하고 도메인에서 명시적인 원본 사양을 지정해야 합니다. 서버 측.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3