소셜 로그인
카카오 로그인 성공 → 카카오로부터 액세스 토큰 발급 → 백엔드 서버에서 유저의 상태를 저장해서 액세스 토큰 생성(user_id, isadmin) → 클라이언트는 백엔드서버에서 생성한 토큰을 받는다 → 클라이언트는 이후 요청시 해당 토큰을 백엔드에 전달해야한다.
****여기서 카카오로부터 액세스토큰이 만료되어도 서버에서 발급한 액세스토큰이 만료되는것은아니기 때문에 로그인이 유지된다.
****카카오로 부터 받은 액세스 토큰이 만료되면 다음 로그인부터는 카카오톡 로그인 시도를 요청한다. 여기에다 내가 리프레시 토큰을 사용하는건 카카오측에서의 보안임(상관없음)
클라이언트입장에서 받은 토큰을 사용하기
// 클라이언트 요청에서 JWT 토큰을 사용
const requestOptions = {
method: 'GET',
headers: {
'Authorization': `Bearer ${jwtToken}`
}
};
// 백엔드 서버에 요청 보내기
fetch('/api/resource', requestOptions)
.then(response => response.json())
.then(data => {
// 요청 결과 처리
});