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/#14 - OAuth2 로그인 기능과 Jwt 편의 기능 추가 #20

Merged
merged 10 commits into from
Nov 20, 2024

Conversation

jbw9964
Copy link
Collaborator

@jbw9964 jbw9964 commented Nov 19, 2024

#️⃣연관된 이슈

Close: #14

📝작업 내용

  • Google, Github 를 이용한 OAuth2 로그인 기능을 추가하였습니다.
    앱 실행 후 localhost:8080/login 을 통해 직접 확인할 수 있습니다.

  • OAuth 를 통해 성공적으로 신원이 확인 되었다면, 성공 핸들러 를 통해 localhost:8080/token/issue?token=???redirect 되도록 만들었습니다.

  • 반면 확인에 실패하였다면, 실패 핸들러 를 통해 발생한 에러를 확인, 응답하도록 (일단) 만들었습니다.

  • Jwt 토큰 검증, 발급과 관련된 JwtUtils 클래스를 만들었습니다.
    해당 클래스는 임시, access, refresh 토큰을 검증, 생성, parse 할 수 있습니다.

아직 Jwt 편의 기능만 존재할 뿐, JwtFilter 등을 만들지 않았습니다.
해당 PR merge 후 추가하도록 하겠습니다.

스크린샷 (선택)

캡처

💬리뷰 요구사항(선택)

@jbw9964 jbw9964 added the 📌 feature New feature added label Nov 19, 2024
@jbw9964 jbw9964 self-assigned this Nov 19, 2024
Copy link

github-actions bot commented Nov 19, 2024

Test Results

1 tests   1 ✅  0s ⏱️
1 suites  0 💤
1 files    0 ❌

Results for commit 1618e97.

♻️ This comment has been updated with latest results.

Copy link
Collaborator

@AnTaeho AnTaeho left a comment

Choose a reason for hiding this comment

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

고생하셨습니다!
몇가지 수정사항 제안 있습니다!
전체적으로 잘 작성하신 것 같습니다!

src/main/java/com/palettee/user/domain/User.java Outdated Show resolved Hide resolved
src/main/resources/application.yml Outdated Show resolved Hide resolved
Copy link
Collaborator

@Leehunil Leehunil left a comment

Choose a reason for hiding this comment

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

코드 설명 주석을 잘 적어주셔서 코드 이해하기 쉬웠습니다!!
너무 잘 작성하신 것 같습니다.

+ `test` 프로필에도 적용
Copy link
Collaborator

@kcsc2217 kcsc2217 left a comment

Choose a reason for hiding this comment

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

주석을 너무 잘 달아놓으셔서 이해하기 편했습니다!

Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
29.4% Coverage on New Code (required ≥ 80%)
4.3% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@jbw9964 jbw9964 merged commit 56a2419 into develop Nov 20, 2024
3 of 4 checks passed
@jbw9964 jbw9964 deleted the feat/#14/security-config branch November 20, 2024 01:39
kcsc2217 pushed a commit that referenced this pull request Nov 22, 2024
* feat: 기본 `SecurityConfig` + `OAuth2` 인증 기능 추가
 - `OAuth2` 성공, 실패 handler 추가

* feat: `Jwt` 검증, 발급용 클래스 추가

* feat: `User` `Entity` 에 필요 속성 추가 및 refactor
- UserRole : 유저 권한 구분용 `enum`
- User#oauthIdentity : OAuth provider + providerId 로 구성된 또다른 식별자 column

* ci: `ci` 시 필요한 `Secret` 들 가져오도록 설정
kcsc2217 added a commit that referenced this pull request Nov 22, 2024
* fix: 포토폴리오 엔티티 수정

* Temp commit: save current work before merge

* feat: 포트폴리오 전체 조회

* Feat/#14 - `OAuth2` 로그인 기능과 `Jwt` 편의 기능 추가 (#20)

* feat: 기본 `SecurityConfig` + `OAuth2` 인증 기능 추가
 - `OAuth2` 성공, 실패 handler 추가

* feat: `Jwt` 검증, 발급용 클래스 추가

* feat: `User` `Entity` 에 필요 속성 추가 및 refactor
- UserRole : 유저 권한 구분용 `enum`
- User#oauthIdentity : OAuth provider + providerId 로 구성된 또다른 식별자 column

* ci: `ci` 시 필요한 `Secret` 들 가져오도록 설정

* #19 - 채팅방 관련 API 생성 (#24)

* feat: 채팅방 생성 API
* feat: 채팅방 참여하기 API
* feat: 채팅방 떠나기 API

* fix: 포트폴리오 전체조회 수정

* fix: 포트폴리오 전체조회 수정

* fix: 포트폴리오 동적쿼리 수정

* feat: 포트폴리오 상세 조회(view count)

* feat: 내가 좋아요한 포트폴리오 조회 noOffSet

* feat: commit yml

* fix: merge 하면서 불필요한 것들 조정

* fix: 페이지 전체 조회 카테고리

* fix: DTO 이름 변경

* feat: 포트폴리오 좋아요 api

* fix: SecurityConfig Map 리스트 수정

* fix: 코드리뷰 반영

---------

Co-authored-by: 청주는사과아님 <jbw9964@gmail.com>
Co-authored-by: Lee hunil <104710245+Leehunil@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📌 feature New feature added
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature - SecurityConfig 를 만든다.
4 participants