개발자

react 에서 새탭을 띄우면서 헤더에토큰을 포함시켜 전달할 수 있나요?

2024년 01월 22일조회 41

리엑트로 프로젝트를 만들고 있습니다. 리액트 내부에서 라우터로 정의된 url이 아닌 완전 별개의 url을 요청하고 싶습니다. url요청시 토큰이 필요해서 토큰을 같이 전달해야하는 상황인데 방법이 있을까요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 01월 22일

레스폰스 헤더에 정보를 추가하는 것은 서버 측에서 수행됩니다. 브라우저는 이러한 헤더를 수정할 수 없습니다. React나 JavaScript는 클라이언트 측 언어이므로, 리액트 앱에서 직접적으로 토큰을 포함하여 새 창에 URL을 열 수 없습니다. 다만, 아래와 같은 대안 방법들이 있습니다: 1. **서버 사이드 랜더링을 사용하십시오**: 이 경우 서버가 새로운 탭/창에 토큰을 전달할 수 있습니다. 2. **인터셉터/미들웨어를 사용하십시오**: 모든 HTTP 요청을 가로채고 해당 토큰을 요청 헤더에 추가할 수 있습니다. 3. **URL의 파라미터로 토큰을 전달하십시오**: 이 방법은 보안상 좋지 않으므로 권장하지 않습니다. 기본적으로, 클라이언트 사이드 JavaScript에서 새 창의 HTTP 요청 헤더를 변경하는 것은 웹 보안 상 선언된 제한 때문에 불가능합니다. 가능한 알ternative는 API 요청(새 탭으로 열리지 않음)를 생성하고 그 결과를 새 탭에서 열 수 있는 URL로 사용하는 것입니다. 이렇게 하면 서버는 이 API 요청의 응답 헤더에 대한 완전한 제어권을 가집니다. 하지만 이것은 당신이 원하는 구체적인 동작은 아닐 수 있습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!