로그인 2

Supabase로 SvelteKit에 GitHub 로그인을 구현해보자

SvelteKit에서 GitHub로그인을 어떻게 구현할 수 있을까요? 이번 글에서는 SvelteKit에서 Supabase를 이용해 간단히 Github로그인을 구현해 보도록 하겠습니다. *SvelteKit: Svelte를 기반으로 한 풀스택 웹 프레임워크 Supabase 란? Supabase 는 Firebase의 대안으로 떠오르는 오픈소스 백엔드 서비스입니다. Supabase의 주요 기능으로는 PostgreSQL 기반의 데이터베이스, 소셜 인증 기능, 실시간 구독과 파일을 저장할 수 있는 스토리지 등이 있습니다. 저는 Supabase 의 소셜 인증 기능을 사용해 Github 로그인으로 구현해 보겠습니다. Supabase 프로젝트 생성 먼저 Supabase 홈페이지에 접속하여 프로젝트를 생성해 줍니다. 프로..

로그인시 Access Token, Refresh Token 보내주기

액세스 토큰을 사용하는 이유 서버가 액세스 토큰을 클라이언트에게 주면 클라이언트는 매 요청시 액세스 토큰을 서버로 보내주어 로그인 상태을 알려줍니다. 이러한 방식은 HTTP의 무상태 특성을 보완하기 위한 한 가지 방법이지만 액세스 토큰을 주는 방식은 전달 과정에서 탈취 당할 우려가 있어 보안에 문제가 있습니다. 이를 해결하기 위해 토큰에 만료기간을 주어, 만약 탈취를 당하더라도 시간이 지나면 토큰을 사용할 수 없게 만들 수 있습니다. 하지만 이는 로그인 상태가 주기적으로 풀린다는 뜻이고 사용자에게 큰 불편을 줄 것입니다. 그래서 사람들은 리프레시 토큰을 생각해내었습니다. 리프레시 토큰으로 액세스 토큰 재발급 리프레시 토큰은 액세스 토큰이 만료되었을 경우 이를 확인하고 다시 액세스 토큰을 발급하는 방법입니..