본문 바로가기

[백엔드온라인TIL] JWT의 Refresh Token과 Access Token은 어디에 저장해야 할까? 그리고 successfulAuthentication (62일차) JWT에서 가장 중요한 점은 '보안'입니다. 어떤 공격에도 토큰을 탈취당하면 안되고 어떤 방식으로도 악용당하면 안되기 때문에 이 토큰을 어디에 어떻게 저장할 지를 고민해 보았습니다. 1. Access Token 먼저 Access Token은 말 그대로 인증 인가 서비스를 구현하기 위한 것입니다. 사용자가 로그인을 하면 백엔드 서버에서 토큰을 만들어서 헤더에 담아 클라이언트에 전송합니다. 클라이언트는 서버에 요청을 할 때 서버로부터 받았던 토큰을 함께 전송합니다. 서버는 요청과 토큰을 함께 받고 서버에서 토큰을 디코딩하여 로그인한 사용자를 확인합니다. Access token은 서버에서 사용자를 로그아웃시키는 권한을 가질 수가 없기 때문에 일정 기간이 지나면 사용자가 자동으로 로그아웃되도록 만료 기간을 짧게.. 더보기
refresh token도 결국 JWT인데 왜 "Bearer"을 안쓰는걸까? https://velog.io/@cada/%ED%86%A0%EA%B7%BC-%EA%B8%B0%EB%B0%98-%EC%9D%B8%EC%A6%9D%EC%97%90%EC%84%9C-bearer%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C 토근 기반 인증에서 bearer는 무엇일까? 본 글은 MDN - HTTP 인증, Veloport님의 게시글을 참고하여 작성되었습니다. 자세하게 알고싶으신 분은 해당 링크를 참고해주세요.토큰 기반 인증인증 타입마치며토큰 기반 인증은 쿠키나 세션을 이 velog.io 참고 ✅ 상황 로그인 요청을 날리고, AccessToken과 RefreshToken이 정상적으로 돌아오는 것을 확인했다. ✅ 의문 JWT 토큰 인증을 구별하기 위해 Bearer을.. 더보기
[백엔드온라인TIL] OAuth란? / OAuth 2.0 인증 과정 (61일차) 1. OAuth(Open Authorization)란? OAuth의 사전적 정의는 다음과 같습니다. OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹 사이트 상의 자신들의 정보에 대해 웹 사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는 접근 위임을 위한 개방형 표준 쉽게 말하면, 어플리케이션을 이용할 때 사용자가 해당 어플리케이션에 ID, PW등의 정보를 제공하지 않고, 신뢰할 수 있는 외부 어플리케이션(Naver, Google, Kakao, Facebook 등)의 Open API에 ID, PW를 입력하여 해당 어플리케이션이 인증 과정을 처리해주는 방식입니다. 2. OAuth의 탄생 배경 OAuth이 없을 때의 상황을 생각해보자. 'A' 어플리케이션에서 Na.. 더보기