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

[feat] 사용자 가입승인 기능 구현 #26

Merged
merged 80 commits into from
Aug 26, 2024
Merged

Conversation

jeongeungyeong
Copy link
Contributor

Issue

PR 타입(하나 이상의 PR 타입을 선택해주세요)

  • 기능 추가
  • 기능 삭제
  • 버그 수정
  • 의존성, 환경 변수, 빌드 관련 코드 업데이트

반영 브랜치

ex) feat/user_approve -> dev

변경 사항

  • 가입요청 시, 유저가 생성되고 6자리의 랜덤한 코드가 입력한 이메일로 발송됩니다.
    • 이메일 발송은 생략!
  • 계정 , 비밀번호, 인증코드 가 올바르게 입력되었을 시 가입승인이 되어 서비스 이용이 가능합니다.
  • 가입승인 되면 회원등급이 NORMAL_USERPREMIUM_USER 로 변경됩니다.

테스트 결과

Request

HTTP : POST
URL: /api/user/approve
  • RequestBody
{
    "account" : "사용자 계정",
    "password" : "비밀번호",
    "inputCode" : "인증코드"
}

Response : 성공시

{
    "message": "인증이 성공적으로 완료되었습니다!",
    "userInfo": {
        "account": "사용자 계정",
        "email": "이메일",
        "grade": "회원등급"
    }
}

Response : 실패시

  • 400 Bad Request
    • 계정 오류
    • 비밀번호 오류
    • 인증코드 오류
    • 인증코드 만료
  • 500 Server Error

jw427 and others added 30 commits August 24, 2024 01:22
- accessToken을 이용한 로그인 기능 먼저 구현
- UserDetail과 UserDetailService 생성
- UserRepository 작성
- 토큰 생성, 유효성 검증, 토큰에서 필요한 정보 가져오는 TokenProvider 클래스 생성
- 발급받은 토큰을 검증하고 다음 필터로 전달하는 TokenAuthenticationFilter 클래스 생성
- Spring Security 설정을 위한 SecurityConfig 작성
- UserController 작성
- 기존의 로그인시 액세스토큰만 발급되던 코드에 리프레시토큰도 발급되어 저장되는 로직 UserService에 추가
- 로그인해도 토큰이 바뀌지 않는 문제 TokenProvider에서 수정
-- claim에 발급 시간과 만료 시간 추가
- TokenService에서 리프레시 토큰을 검증해 액세스토큰과 리프레시토큰 재발급하는 로직 추가
- Content -> Post로 클래스 네임 변경
- PK : Long -> String 으로 타입 변경
- ContentController -> PostController 클래스 네임 변경
- Q클래스 폴더 ignore 처리
- StatParam : 사용하지 않는 Exception 제거
- Handler : 잘못된 import 변경
post 테이블 명 변경 post -> posts
post 테이블의 id 타입을 String으로 변경하면서 GeneratedValue 어노테이션 제거
- TokenProvider의 makeToken 메서드 가독성을 위한 수정
- 회원이 존재하지 않는 경우의 에러 핸들링 추가
- TokenController과 TokenService의 재발급 메서드 명칭 getToken으로 수정
- 직관성을 위해 URL도 수정
jeongeungyeong and others added 16 commits August 26, 2024 16:09
…ecurity_config

[feat] users SecurityConfig 비밀번호 암호화 기능 추가
…ign_up

[feat] 사용자 회원가입 기능 구현
* feat: post 상세보기 api

* refactor: 테스트용 security 설정

* refactor: review 반영

- 공백 제거
- dto record로 변경
- DetailResponse 반환 코드 PostService -> PostController 수정 작성
- .gitignore 수정
- PostNotFoundException -> NotFoundException

* refactor: repository test code 삭제

* refactor: Entity, DTO Colum post -> content 변경

* fix: conflict 해결
…like

[feat] 게시물 좋아요 기능 구현
Copy link
Contributor

@rhaehf rhaehf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다!

@jeongeungyeong jeongeungyeong merged commit 1322c34 into dev Aug 26, 2024
@jeongeungyeong jeongeungyeong deleted the feat/user_approve branch August 26, 2024 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

사용자 가입승인 (API)
6 participants