📋 인증 방식
인증 방식
설명
장점
단점
Basic 인증
사용자의 자격 증명(사용자 이름과 비밀번호)을 HTTP 헤더에 직접 포함시킵니다.
- 구현이 간단하다.
표준 HTTP 프로토콜을 사용한다. | - 비밀번호가 매 요청마다 전송되므로 보안이 취약하다.
HTTPS를 사용하지 않으면 쉽게 노출될 수 있다. | |
Bearer 인증
| OAuth 2.0에서 사용하는 방식으로, 토큰을 HTTP 헤더에 포함시켜 인증합니다. | - 세션 상태를 서버에 저장하지 않으므로 확장성이 좋다.
자격 증명을 반복적으로 전송할 필요가 없다. | - 토큰이 노출되면 유효 기간 내에 무제한으로 악용될 수 있다.
토큰의 저장 및 관리가 필요하다. | |
JSON Web Token (JWT)
| JSON 포맷의 토큰을 사용하여 사용자 정보를 인코딩하고 서명하여 인증합니다. | - 무상태(stateless) 방식으로, 서버 측 세션 관리가 필요 없다.
토큰에 클레임을 포함시켜 추가 정보를 전달할 수 있다.
토큰 자체에 서명이 포함되어 있어 데이터 무결성이 보장된다. | - 토큰이 노출되면 유효 기간 내에 악용될 수 있다.
토큰 크기가 클 경우 네트워크 부하가 증가할 수 있다.
토큰 만료 후 갱신이 복잡할 수 있다. |
Basic 인증
:
설명
: 사용자 이름과 비밀번호를 HTTP 요청 헤더의
Authorization
필드에 Base64로 인코딩하여 포함합니다.
장점
: 구현이 간단하고 표준 HTTP 프로토콜을 따릅니다.
단점
: 자격 증명이 매 요청마다 전송되므로 보안이 취약하고, HTTPS를 사용하지 않으면 자격 증명이 노출될 수 있습니다.
Bearer 인증
:
설명
: OAuth 2.0에서 사용되는 방식으로, 인증된 사용자는 서버로부터 받은 액세스 토큰을
Authorization
헤더에 포함시킵니다. 이 토큰은 자격 증명을 대신합니다.
장점
: 서버에 세션 상태를 저장하지 않아 확장성이 좋으며, 자격 증명을 반복적으로 전송할 필요가 없습니다.
단점
: 토큰이 유출되면 유효 기간 동안 무제한으로 사용할 수 있으며, 토큰의 저장 및 관리가 필요합니다.
JSON Web Token (JWT)
:
설명
: JSON 형식의 토큰을 사용하여 인증 정보를 포함시키고 서명하여 데이터의 무결성을 보장합니다. JWT는 클레임을 포함할 수 있으며, 자체적으로 인증 정보를 담고 있습니다.
장점
: 무상태(stateless) 방식으로 서버 측 세션 관리가 필요 없으며, 토큰에 인증 및 클레임 정보를 포함시킬 수 있습니다. 서명으로 데이터 무결성을 보장합니다.
단점
: 토큰이 유출되면 유효 기간 동안 악용될 수 있으며, 토큰 크기가 커질 수 있어 네트워크 부하가 증가할 수 있습니다. 토큰 만료 후 갱신이 복잡할 수 있습니다.