inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

23-01-login / login-success

accessToken을 createUploadLink에 넣어주는 이유?

222

joka

작성한 질문수 15

0

ex) src/components/commons/apollo/index.tsx

// ...
  const uploadLink = createUploadLink({
    uri: "...",
    headers: { Authorization: `Bearer ${accessToken}` },
  });

  const client = new ApolloClient({
    link: ApolloLink.from([uploadLink]),
    cache: GLOBAL_STATE,
  });
// ...

이전 강의에서 createUploadLink 함수를 이미지같은 파일을 업로드 설정을 위해 불러왔었는데 이 안에 accessToken을 넣어주는 게 이해가 가지 않았습니다. 지금 제 머릿속에는 자동으로 headers에 accessToken을 담아서 인가를 해주는 설정을 왜 이미지업로드를 위한 설정함수에 accessToken을 넣어주는 거지?라는 생각이 들어서 혼란스럽습니다.. 이 부분에 대해서 제가 잘못 이해하고 있거나 이렇게 해주는 이유에 대해서 알려주신다면 감사드리겠습니다!

react graphql next.js

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

joka님, 문의하신 내용에 대한 답변을 드리겠습니다.

createUploadLink 함수에 accessToken을 전달하는 이유는 인증을 확보한 상태에서 파일 업로드가 이루어지도록 하기 위함입니다. 일반적으로 서버에서는 민감한 작업을 수행할 때 사용자의 인증 정보, 즉 accessToken을 요구합니다. 이미지나 파일을 업로드하는 경우도 사용자가 권한이 있는지 검증을 하기 위해 토큰을 검사합니다.

해당 accessToken을 HTTP 헤더에 포함시켜 보내면, 서버는 이 헤더를 확인하여 요청이 유효한 사용자로부터 왔는지를 검증할 수 있습니다. 이러한 과정을 통해 서버는 무단 업로드 및 보안 문제를 예방하고, 권한이 있는 사용자만이 파일 업로드를 할 수 있게 하기 위해 accessToken을 사용합니다.

다시 말해, 이미지 업로드가 인증된 사용자에 의해서만 수행되어야 한다면, 해당 작업을 요청하는 클라이언트는 서버에게 자신이 유효한 사용자임을 증명하는 accessToken을 함께 제공해야 합니다. 그렇기 때문에 createUploadLink 함수에서 uploadLink를 생성할 때 accessToken을 headers에 포함하는 것입니다.

혼란스러우셨던 부분이 잘 해소되셨길 바랍니다. 추가적인 질문이 있으시다면 언제든지 문의해 주세요.

fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다

0

36

1

댓글 기능 구현 중 질문드립니다.

0

66

1

쿠폰코드 발급

0

132

2

example 서버 플레이그라운드, API 접속 모두 안됩니다.

0

86

2

문의드립니다!! ㅠㅠ

0

101

2

graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.

0

76

2

_app.js 작성 이후로 에러가 발생하네요

0

93

2

학습자료

0

70

2

학습자료가 안열립니다.

0

49

2

플레이 그라운드 퀴즈 문제 질문이 있습니다.

0

59

0

기존강의 구매자, 업데이트 끝인가요?

0

109

3

업데이트 버전 수강

0

88

2

완벽한 프론트엔드

0

136

2

나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.

0

82

1

graphql 접속이 안됩니다.

0

100

2

const, let 사용 질문 드립니다.

0

70

2

싸이월드 만들기 1탄 피드백 부탁드립니다.

0

122

2

회원가입 과제 피드백 부탁드립니다.

0

80

2

styled.span / styled.input "CSS 자동완성"

0

47

1

쿠폰 발급 관련

0

166

2

서버 502 error

0

247

2

쿠폰 다시 부탁드려도 될가여?

0

140

2

a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요

0

184

2

2분 44초 질문

0

131

3