Skip to content

[Feature] 로그인 기능 구현 #34

@heeejinin

Description

@heeejinin

✨ 기능 설명

JWT와 Spring Security를 기반으로 한 로그인 기능을 구현합니다.
수요자와 매니저 모두 공통된 로그인 화면(UI) 을 사용하며, 백엔드에서는 로그인 후 유저의 역할에 따라 JWT에 적절한 정보를 담아 응답합니다.

🚀 문제 정의

현재 프로젝트에서는 로그인 처리 로직이 없거나, JWT 및 Security 기반의 인증 흐름이 구축되지 않았습니다.
사용자 역할 기반 권한 제어가 구현되어 있지 않음
또한, 수요자/매니저 모두 같은 로그인 화면을 사용하기 때문에, 서버 측에서 역할을 식별하여 처리할 수 있어야 합니다.

📝 기대 효과

  • JWT 기반 인증을 통한 무상태(stateless) 로그인 처리 가능
  • 로그인 성공 시 JWT 발급 → 이후 요청에 Authorization 헤더로 인증
  • 유저 역할(Role)을 JWT에 포함 → 각 역할별 인가 로직 분기 가능
  • 프론트엔드에서는 별도의 세션 유지 없이 로컬스토리지 등에 토큰 저장 후 사용
  • 보안적인 측면에서 민감 정보 노출 없이 인증 처리 가능

📚 참고 자료

✅ 체크리스트

  • 이 기능은 프로젝트 목표와 부합합니다.
  • 이 기능은 다른 사용자들에게도 유용할 것입니다.
  • 로그인 요청을 처리할 엔드포인트(/api/v1/auth/signin)를 구현합니다.
  • 사용자 인증에 성공하면 JWT를 생성하여 응답합니다.
  • JWT에 사용자 ID 및 역할(Role) 정보를 포함합니다.
  • 이후 요청에서 JWT를 검증하고, 해당 유저의 인가 처리를 합니다.
  • 로그인 실패 시 적절한 에러 메시지를 반환합니다.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions