Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JWT 로그인 완료 #10

Merged
merged 13 commits into from
Jul 21, 2024
Merged

JWT 로그인 완료 #10

merged 13 commits into from
Jul 21, 2024

Conversation

limehee
Copy link
Collaborator

@limehee limehee commented Jul 21, 2024

Summary

#9

Stempo 애플리케이션의 로그인 기능을 JWT(JSON Web Token)를 이용하여 구현했습니다. 기기 정보(Device tag)를 통해 사용자를 식별하며, 소셜 로그인 없이 사용자 정보를 직접 입력받아 로그인 기능을 제공하는 작업을 수행했습니다. 또한 Swagger API Docs 설정과 User 테이블의 컬럼명 변경 작업이 포함되었습니다.

Tasks

  • JWT 로그인 구현
    • 기기 정보(Device tag)를 통해 사용자 식별
    • 소셜 로그인 없이 사용자 정보 입력
    • JWT를 사용하여 로그인 토큰 발급 및 검증
  • 로그인 엔드포인트 생성
    • 사용자 정보를 입력받아 JWT 토큰을 발급하는 엔드포인트 생성 (/api/v1/login)
    • 요청된 사용자 정보를 검증하고, 유효한 경우 JWT 토큰을 반환
  • 토큰 검증 및 인증
    • 클라이언트 요청 시, 헤더에 포함된 JWT 토큰을 검증
    • 요청된 사용자 정보를 검증하고, 가입되지 않은 회원이면 자동 가입 후 JWT 토큰을 반환
  • Swagger API Docs 설정
    • Swagger를 통해 API 문서화 설정 완료
    • 로그인 및 토큰 재발급 엔드포인트에 대한 Swagger 문서 추가
  • User 테이블 컬럼명 변경
    • User 테이블의 id 컬럼명을 device_tag로 변경하여 기기 정보를 통해 사용자 식별
    • 이에 따른 관련 코드 수정

ETC

  • DB 스키마 변경으로 인해, 기존 데이터베이스를 사용하는 경우 마이그레이션 필요
  • 로컬 환경에서 로그인 및 토큰 재발급 테스트 완료
  • JWT 토큰 검증 및 인증 테스트 완료
  • Swagger를 통한 API 문서화 확인

@limehee limehee added the ✨ Feature 새로운 기능 명세 및 개발 label Jul 21, 2024
@limehee limehee self-assigned this Jul 21, 2024
@limehee limehee linked an issue Jul 21, 2024 that may be closed by this pull request
@limehee limehee merged commit 97c941c into develop Jul 21, 2024
3 checks passed
@limehee limehee deleted the feat/#9 branch July 21, 2024 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Feature 새로운 기능 명세 및 개발
Projects
None yet
Development

Successfully merging this pull request may close these issues.

JWT 로그인
1 participant