기본 인증을 사용한 HTTP 요청 보내기

TypeScript:
기본 인증을 사용한 HTTP 요청 보내기

How to: (방법)

import axios from 'axios';

async function getWithBasicAuth(url: string, username: string, password: string) {
  try {
    const response = await axios.get(url, {
      auth: {
        username: username,
        password: password,
      },
    });
    console.log(response.data);
  } catch (error) {
    console.error('Authentication failed', error);
  }
}

// 사용 예
const apiURL = 'https://api.example.com/data';
const username = 'user1';
const password = 'pass1234';

getWithBasicAuth(apiURL, username, password);

성공적인 요청은 console.log(response.data);에서 데이터를 출력할 것입니다.

Deep Dive (심층 분석)

기본 인증은 HTTP 1.0 부터 있었고 가장 초기의 인증 방식 중 하나입니다. Base64로 인코딩된 ‘username:password’를 HTTP 헤더에 실어 보내는 방식이죠. 하지만 이 방식은 보안에 취약하여 HTTPS와 함께 사용되어야 합니다.

인증의 대안들로는 OAuth, API 키, JWT(Json Web Tokens) 등이 있습니다. 이러한 방식들은 더 안전하고 유연하지만 기본 인증은 여전히 간단히 사용할 수 있고 빠르게 세팅할 수 있다는 장점이 있습니다.

구현 시에는 Authorization 헤더에 값을 넣는 것을 잊지 말아야 하며, 앞서 본 예제에서는 Axios 라이브러리를 이용해 처리합니다. Axios는 이러한 방식을 내부적으로 Authorization 헤더에 알맞게 설정해줍니다.

See Also (더 보기)