🌿 중급 백엔드
API 인증 방식의 종류
쉽게 이해하기
건물에 들어갈 때 신분증을 보여주는 방법이 여러 가지인 것과 같아요. 어떤 곳은 출입증 카드를 찍고, 어떤 곳은 지문을 인식하고, 어떤 곳은 경비에게 신분증을 보여줘야 하죠. API 인증도 서비스마다 다른 방법으로 '당신이 접근 권한이 있는 사람인지' 확인해요.
핵심 정리
API에 접근할 수 있는 사람인지 확인하는 방법들이에요.
자세히 알아보기
API 인증은 크게 네 가지 방식이 있어요. 첫 번째는 API Key 방식이에요. 서비스에서 발급받은 고유한 문자열 키를 요청에 포함시키는 방법이죠. 날씨 API나 지도 API 같은 곳에서 많이 써요. 간단하지만 키가 노출되면 누구나 쓸 수 있다는 단점이 있어요.
두 번째는 Basic Authentication이에요. 사용자명과 비밀번호를 Base64로 인코딩해서 매 요청마다 보내는 방식이죠. 옛날 방식이라 요즘은 잘 안 쓰고, HTTPS와 함께 써야 안전해요. 세 번째는 Bearer Token 방식인데, 로그인하면 서버가 토큰을 발급해주고, 이후 요청마다 그 토큰을 Authorization 헤더에 넣어서 보내요. JWT가 대표적이에요.
네 번째는 OAuth 2.0이에요. '구글 계정으로 로그인', '카카오 계정으로 로그인' 같은 게 이 방식이죠. 사용자가 직접 비밀번호를 입력하지 않고도, 다른 서비스의 인증을 빌려 쓸 수 있어요. 복잡하지만 가장 안전하고 사용자 편의성도 좋아서 요즘 많이 쓰이고 있어요.
어떤 인증 방식을 쓸지는 서비스 특성에 따라 달라요. 간단한 공개 API는 API Key, 민감한 데이터를 다루는 내부 API는 JWT, 소셜 로그인이 필요하면 OAuth를 선택하는 식이죠. 중요한 건 모든 인증 방식이 HTTPS를 필수로 사용해야 한다는 거예요.