everymeals/EveryMeal_Server

유저 로그인 API 개발

Closed this issue · 0 comments

요청 기능 설명

이 기능은 사용자가 로그인하는 데 사용되며, 사용자의 기기 고유 번호를 받아서 로그인을 처리하고, 로그인 성공 시 새로 고유한 리프레시 토큰을 발급합니다. 또한, 리프레시 토큰을 HttpOnly 및 Secure 속성이 설정된 쿠키로 클라이언트에게 전달합니다. 이 기능은 사용자를 인증하고, 새로고침 토큰을 발급하여 향후 인증에 사용되도록 합니다.

필요한 작업

사용자의 기기 고유 번호를 입력으로 받습니다.
사용자 서비스 (userService)를 호출하여 기기 고유 번호를 기반으로 사용자를 인증합니다.
사용자 인증에 성공하면, 새로운 리프레시 토큰을 발급하고, 이를 쿠키로 만듭니다.
리프레시 토큰을 쿠키로 클라이언트에게 전달합니다. 이때, 쿠키의 HttpOnly, Secure, SameSite 속성이 설정되어야 합니다.
응답으로는 로그인에 성공한 사용자 정보를 반환합니다. 리프레시 토큰은 별도의 필드로 제외하고, 쿠키를 설정한 응답을 반환합니다.
대안적인 방법 (선택 사항)
이 기능의 주요 기능인 사용자 인증 및 리프레시 토큰 발급에 대한 기본 접근 방식은 이미 구현되어 있으며, 대안적인 방법은 크게 필요하지 않습니다. 그러나 일부 추가적인 보안 관련 설정을 고려할 수 있습니다. 예를 들어, 클라이언트와 서버 간의 통신에 HTTPS를 사용하도록 강제할 수 있습니다.

추가 정보 (선택 사항)

이 기능은 사용자의 로그인 상태를 유지하고, 리프레시 토큰을 통해 인증을 지속적으로 갱신할 수 있는 중요한 보안 기능을 제공합니다.
리프레시 토큰은 쿠키로 전송되므로 클라이언트 측에서 자동으로 저장되고, 서버에 대한 인증 갱신 요청에 사용됩니다.
HttpOnly 및 Secure 속성은 쿠키의 보안을 강화하는 데 중요하며, SameSite 속성은 CSRF(Cross-Site Request Forgery) 공격을 방지하는 데 도움이 됩니다.