Basic 인증 방식은 가장 기본적인 HTTP 인증 방식이에요. 인증 정보로 사용자 ID, 비밀번호를 사용해요. Base64로 인코딩한 “사용자ID:비밀번호” 문자열을 Basic
과 함께 인증 헤더에 입력해요. 더 자세한 내용은 RFC 7617에 정의되어 있어요.
Base64는 쉽게 복호화할 수 있어요. 단순 base64 인코딩된 사용자 ID와 비밀번호를 HTTP로 전달하면 요청의 보안이 보장되지 않아요. Basic 인증을 사용하는 요청은 꼭 HTTPS, SSL/TLS로 통신해야 안전해요.
Authorization: Basic base64({USERNAME}:{PASSWORD})
Basic 인증 방식의 가장 큰 장점은 간단함이에요. 사용자 ID와 비밀번호 외에 로그인 페이지나 별도의 인증 정보를 요구하지 않아요. 이런 간편함 때문에 다수의 서비스가 Basic 인증 방식을 사용하고 있어요. 쉬운 접근이 중요시되는 웹 서비스를 기반으로 만들어진 만큼 Basic 인증은 단순하고 구축하기 쉬워요.
그러나 Basic 인증 방식은 서버에 사용자 목록을 저장해요. 요청한 리소스가 많거나 사용자가 많으면 목록에서 권한을 확인하는 시간이 길어지겠죠. 또한 서버에 현실적으로 저장할 수 있는 데이터는 한정되어 있어서 사용자가 많거나 사용자 변화가 잦은 서비스가 Basic 인증을 사용하면 서버에 부담이 커져요.
또 Basic 인증 방식만으로는 사용자 권한을 정교하게 제어할 수 없어요. 사용자가 꼭 필요한 리소스에만 권한을 주는 게 좋은데, Basic 인증 방식으로 세세하게 사용자의 권한을 설정하려면 추가 구현이 필요해요. 사용자 ID, 비밀번호는 우리에게 가장 친근한 인증 방법이지만, 어떻게 보면 그만큼 구시대적이에요. 복잡한 현대 IT 서비스는 더 정교한 인증 방식을 요구해요.
토스페이먼츠 코어 API는 시크릿 키를 사용자 ID로 사용하고, 비밀번호는 사용하지 않습니다. 비밀번호가 없다는 것을 알리기 위해 시크릿 키 뒤에 콜론을 추가합니다. 토스페이먼츠 Basic 인증 방법 가이드에서 더 자세한 정보를 확인하세요.
Authorization: Basic base64({SECRET_KEY}:)