개발자

OAuth2 token Request Body vs Request Header

2023년 06월 09일조회 393

안녕하세요 백엔드 엔지니어를 희망하는 대학생 개린이(?)입니다. 최근 소셜 로그인을 백엔드에서 구현하고 있습니다. 클라이언트 팀원분에게 OAuth2 access & refresh token을 서버측으로 전달해주신다고 하셨습니다. 데이터를 받아올 때 body와 header 중 어느것으로 받는 것이 좋을까요? 단순 보안적인 측면을 생각했을 때 header가 더 낫다고 생각했으나, 사실 얼마나 보안적으로 차이가 있는지 명확하게 알지 못해서 질문드립니다!

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

답변 1

달레님의 프로필 사진

말씀하신 것처럼 보안적인 측면에서 바라봤을 때는 인증 토큰을 바디로 받든 헤더로 받든 크게 의미있는 차이가 있지는 않습니다. 하지만 한 가지 더 고려하실 부분이 있는데요. 바로 OAuth2는 인증/인가를 위해서 서버와 클라이언트가 어떻게 통신해야하는지 정의하고 있는 "프로토콜"이라는 것입니다. OAuth2 스펙에서는 인증 토큰을 송수신할 때 Authorization 헤더의 Bearer 토큰을 사용하도록 권고하고 있으며 구글, 페이스북 등 대부분의 OAuth2 제공 업체들은 이 표준을 준수하고 있습니다. 그 밖에 다른 OAuth2 관련 라이브러리나 프레임워크들도 이러한 관행을 따른다고 가정하고 설계되는 경우가 많고요. 무엇보다 OAuth2 표준과 관행을 충실히 따르시면 어떤 클라이언트 팀과 일하시더라도 일관된 방식으로 인증 토큰을 주고 받을 수 있습니다. 추가적으로 읽어보시면 도움이 되실 것 같아서 예전에 OAuth2에 관련해서 정리해둔 포스팅을 공유드리겠습니다: https://www.daleseo.com/google-oauth/

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

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

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

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