로컬 스토리지나 쿠키에 갱신 토큰(refresh token)을 저장하는 방식은 클라이언트 사이드에서 갱신 토큰을 관리하고 필요할 때마다 서버에 전송하여 액세스 토큰(access token)을 갱신하는 방법입니다. 이 방법을 사용할 때는 주로 다음과 같은 절차를 따릅니다: 토큰 발급: 사용자가 로그인하면, 서버는 액세스 토큰과 갱신 토큰을 생성합니다. 액세스 토큰은 짧은 유효 기간을 가지며, 갱신 토큰은 더 긴 유효 기간을 가집니다. 토큰 저장: 클라이언트는 받은 액세스 토큰과 갱신 토큰을 로컬 스토리지나 쿠키에 저장합니다. 토큰 사용: 클라이언트는 API 요청을 할 때마다 액세스 토큰을 Authorization 헤더에 넣어서 보냅니다. 토큰 만료: 액세스 토큰이 만료되면, 클라이언트는 서버에 갱신 요청을..
JWT 토큰을 사용하는 경우, 보통은 사용자 세션을 갱신하거나 관리하는데 필요한 특별한 단계가 없습니다. 왜냐하면 JWT는 stateless하며, 토큰이 만료되기 전까지는 사용자 인증 정보를 포함하고 있기 때문입니다. 그러나 만약 사용자가 로그아웃하거나 세션을 갱신해야 하는 경우에는 몇 가지 옵션이 있습니다. 1. 토큰 만료시간 짧게 설정하고 갱신 토큰 사용: 액세스 토큰의 만료시간을 짧게 (예: 15분) 설정하고, 별도의 갱신 토큰(refresh token)을 발급하여 사용합니다. 사용자가 로그인을 하면, 둘 다 발급됩니다. 액세스 토큰은 사용자 인증을 위한 짧은 기간 동안 사용하고, 만료되면 갱신 토큰을 사용하여 새 액세스 토큰을 발급받습니다. 2. 토큰 만료 체크 및 갱신: 클라이언트는 액세스 토큰..
웹사이트의 로그인 API를 설계하고 만들 때는 일반적으로 다음과 같은 단계를 따릅니다: API Endpoint 생성: 로그인 기능을 위한 API 엔드포인트를 생성합니다. 보통 /login 이나 /auth/login과 같은 경로를 사용합니다. HTTP 메서드 선택: 로그인 기능에는 POST 메서드를 사용합니다. 이는 사용자의 로그인 정보(이메일과 비밀번호 등)를 서버에 전송하므로, 이 정보를 안전하게 보호하기 위해 POST 메서드를 사용합니다. 입력 데이터 검증: 사용자로부터 받은 입력 데이터(이메일, 비밀번호 등)를 검증합니다. 이메일 형식이 올바른지, 비밀번호가 충분히 안전한지 등을 확인합니다. 사용자 인증: 사용자의 이메일과 비밀번호를 데이터베이스나 다른 저장소에서 검색하여 실제 사용자 정보와 일치하..