소셜 로그인

  1. 카카오로부터 발급된 액세스 토큰:
  2. 백엔드 서버에서 생성하여 클라이언트에게 전달한 액세스 토큰:

카카오 로그인 성공 → 카카오로부터 액세스 토큰 발급 → 백엔드 서버에서 유저의 상태를 저장해서 액세스 토큰 생성(user_id, isadmin) → 클라이언트는 백엔드서버에서 생성한 토큰을 받는다 → 클라이언트는 이후 요청시 해당 토큰을 백엔드에 전달해야한다.

****여기서 카카오로부터 액세스토큰이 만료되어도 서버에서 발급한 액세스토큰이 만료되는것은아니기 때문에 로그인이 유지된다.

****카카오로 부터 받은 액세스 토큰이 만료되면 다음 로그인부터는 카카오톡 로그인 시도를 요청한다. 여기에다 내가 리프레시 토큰을 사용하는건 카카오측에서의 보안임(상관없음)


클라이언트입장에서 받은 토큰을 사용하기

  1. 클라이언트는 JWT 토큰을 안전하게 저장하고, 요청의 인증 헤더에 토큰을 포함시켜 백엔드에 요청을 보냅니다.

// 클라이언트 요청에서 JWT 토큰을 사용
const requestOptions = {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${jwtToken}`
  }
};

// 백엔드 서버에 요청 보내기
fetch('/api/resource', requestOptions)
  .then(response => response.json())
  .then(data => {
    // 요청 결과 처리
  });