🌿 중급 백엔드
Bearer 토큰이 뭔가요?
쉽게 이해하기
호텔 객실 카드키처럼 '이 카드를 가진 사람이 곧 투숙객'이라는 의미예요. 카드를 보여주기만 하면 되지, 이름을 확인하거나 신분증을 다시 체크하지 않죠. Bearer 토큰도 '이 토큰을 가진 사람(bearer)에게 권한을 준다'는 뜻이에요.
핵심 정리
Bearer 토큰은 API 요청 시 사용자 인증을 위해 헤더에 실어 보내는 토큰 방식이에요.
자세히 알아보기
API 요청을 할 때 '나 로그인한 사용자야'라고 증명해야 할 때가 많아요. 이때 Bearer 토큰을 사용해요. HTTP 요청 헤더에 'Authorization: Bearer eyJhbGc...' 이런 식으로 넣어서 보내죠.
Bearer라는 단어는 '소지자'라는 뜻이에요. 즉, 이 토큰을 가진 사람이 누구든 그 사람에게 권한을 준다는 의미죠. 그래서 Bearer 토큰은 절대로 노출되면 안 돼요. 남이 가져가면 그 사람이 내가 될 수 있거든요.
실제로 사용할 때는 이렇게 해요. 로그인하면 서버가 토큰을 줘요. 그걸 프론트엔드가 저장해뒀다가, 다음 API 요청마다 헤더에 붙여서 보내는 거예요. 서버는 그 토큰을 검증해서 '아, 이 사람이 맞네' 하고 요청을 처리해줘요.
Bearer 방식은 JWT와 자주 함께 쓰여요. JWT를 만들어서 Bearer 토큰으로 보내는 거죠. 장점은 서버가 세션을 저장할 필요가 없다는 거예요. 토큰 안에 필요한 정보가 다 들어있으니까요. 단점은 토큰이 노출되면 만료 전까지 막을 방법이 없다는 거예요. 그래서 HTTPS를 꼭 써야 하고, 토큰 유효기간도 짧게 설정해야 해요.