Notice
Recent Posts
Recent Comments
Link
투케이2K
68. (Network/네트워크) Http 요청 헤더 (Header) Authorization Basic 인증 및 Bearer 인증 차이 정리 본문
Network
68. (Network/네트워크) Http 요청 헤더 (Header) Authorization Basic 인증 및 Bearer 인증 차이 정리
투케이2K 2024. 10. 4. 19:50[구 분]
구분 : Network / 네트워크
제목 : Http 요청 헤더 (Header) Authorization Basic 인증 및 Bearer 인증 차이 정리
[설 명]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 환경 : Web / HTTP
- 기술 : Authorization , Basic , Bearer
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[사전) Http 헤더 Authorization 간랸 설명]
// --------------------------------------------------------------------------------------
1. Authorization 은 Http 요청 시 헤더 값에 추가 되며, 인증 정보를 전달 할 때 사용 됩니다.
2. Authorization 에는 서버의 사용자 에이전트임을 증명하는 자격을 포함하여 전달해야하며,
인증 정보가 올바르지 않은 경우 서버에서는 401 , 403 에러 값을 반환할 수 있습니다.
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[Basic 인증 간략 설명]
// --------------------------------------------------------------------------------------
1. Basic 인증은 기본적인 인증 방식으로 base64 로 인코딩 된 사용자 id, pw 를 헤더에 추가해 인증을 요청하는 방식입니다
>> Authorization : Basic base64 인코딩 문자열
2. 서버에서는 헤더에 포함 된 Basic base64 인코딩 문자열 값을 읽어 복호화해 사용자 인증 처리를 수행합니다
3. Basic 인증은 가장 쉽게 접근할 수 있는 친근한 방법 이지만, 세부 설정 및 보안적으로 불안한 요소가 있어 결제 정보 전송 등 민감 API 요청 시에는 잘 사용되지는 않습니다
>> SSL/TLS 설정이 되어 있는 서버에서는 Basic 방식을 사용해서 요청하는 경우도 있음 (보안 설정이 되어 있는 환경)
4. Basic 인증은 사용자 정보를 서버에 저장하기 때문에 사용자가 많을 수록 서버에 부담이 될 수 있습니다.
>> 사용자 정보를 DB 확인 후 비즈니스 로직을 처리 하기에는 응답 시간이 느려, Redis 등 에 서버 메모리에 사용자 정보 저장 후 비교하는 방식으로 사용
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[Bearer 인증 간략 설명]
// --------------------------------------------------------------------------------------
1. Bearer 인증은 OAuth 2.0 프레임워크에서 사용하는 토큰 인증 방식으로 헤더에 16진수 문자열 또는 JWT (JSON Web Token) 문자열을 전송해 인증을 요청하는 방식입니다
>> Authorization : Bearer 토큰 문자열
>> JWT 문자열을 전송하기 위해서는 사전 JWT 토큰 발급 후 해당 값을 헤더에 넣어 인증 요청 수행
2. Bearer 인증은 기본 Basic 인증 보다 추가 세부 설정이 가능 하며, 보안적으로도 더 안전해 Http Authorization 인증 시 많이 사용되고 있습니다
>> Bearer 는 토큰 기반 인증 방식이므로 요청할 때마다 아이디와 비밀번호를 전송할 필요가 없습니다
3. Bearer 인증은 SSL/TLS 를 사용하는 서버 인증 시 사용되며, 쉽게 토큰 값을 복호화 할 수 없습니다
4. Bearer 인증을 사용하기 위해서는 인증 서버를 구축하거나 외부 인증 서비스를 이용해야 하므로 초기 설정이 복잡할 수 있습니다
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[Web Doc Authorization 설명]
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Authorization
[JWT 개념 설명]
https://blog.naver.com/kkh0977/222934042760?trackingCode=blog_bloghome_searchlist
[JWT 토큰 갱선 처리 로직]
https://blog.naver.com/kkh0977/223604705723?trackingCode=blog_bloghome_searchlist
[NodeJs - JWT 토큰 생성 방법]
https://blog.naver.com/kkh0977/223312598939?trackingCode=blog_bloghome_searchlist
[NodeJs - JWT 토큰 유효성 검증]
https://blog.naver.com/kkh0977/223311615955?trackingCode=blog_bloghome_searchlist
[NodeJs- JWT 토큰 갱신 방법]
https://blog.naver.com/kkh0977/223312630682?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
반응형
'Network' 카테고리의 다른 글
Comments