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: [AUTH] Gateway와 통신하는 API Endpoint 를 추가합니다. #138

Merged
merged 24 commits into from
Jan 31, 2024

Conversation

K-Diger
Copy link
Collaborator

@K-Diger K-Diger commented Jan 29, 2024

Related Issue

#136

Changes

  • Gateway와 통신하는 Passport발급 Endpoint를 추가합니다.
    • 기존 Webflux 환경의 Gateway에서 gRPC 통신을 사용하는 것의 문제로 인해 통신 방식을 변경합니다.
  • 이 내용은 Gateawy로부터 전달받은 JWT를 검증하고 올바르다면 Passport를 발급하는 로직입니다.
  • 위 로직을 위해 UserService에게 Id로부터 유저 정보를 가져오는 gRPC 메서드를 추가합니다.

Screenshots

To Reviewer

Additional Context(optional)

How Has This Been Tested?

Checklist

  • PR 제목은 포맷과 내용 둘 다 알맞게 작성되었는가
  • PR에 대해 구체적으로 설명이 되어있는가

@K-Diger K-Diger self-assigned this Jan 29, 2024
@github-actions github-actions bot added service 백엔드 서비스 관련 내용을 다룰 때 사용됩니다 feature 새로운 기능을 만들 때 사용됩니다 labels Jan 29, 2024
@K-Diger K-Diger changed the title feat: Gateway와 통신하는 gRPC Client를 추가합니다. feat: [AUTH] Gateway와 통신하는 gRPC Client를 추가합니다. Jan 29, 2024
@K-Diger K-Diger changed the title feat: [AUTH] Gateway와 통신하는 gRPC Client를 추가합니다. feat: [AUTH] Gateway와 통신하는 API Endpoint 를 추가합니다. Jan 30, 2024
@K-Diger K-Diger merged commit b71f933 into auth/dev Jan 31, 2024
1 check passed
@K-Diger K-Diger deleted the auth/feat#136 branch January 31, 2024 01:59
K-Diger added a commit that referenced this pull request Feb 21, 2024
* feat: init auth service

* refactor: update dockerhub push flow (#27)

* fix: add multi platform (#39)

* feat: set gradle project

* feat: create createUser interface

* feat: add generated ignore

* feat: send_email_auth.proto, update_user_auth-status.proto

* refactor : GUpdateUserAuthStatusRequest 필드 수정

* refactor : GSendEmailAuthRequest Protobuf 필드 수정

* feat: 이메일 인증 및 재발송 기능을 추가합니다. (#111)

* feat: set gradle project

* feat: create createUser interface

* feat: add generated ignore

* feat : gradle 의존성 초기화

* feat: 인증 번호 생성 기능 추가

* feat: 이메일 전송 기능 추가

* feat: 레디스 내 인증 정보 저장 기능 추가

* feat: gRPC 서버 로직 및 이메일 인증 로직 추가

* docs: build script

* feat: send_email_auth.proto, update_user_auth-status.proto

* docs : build script

* refactor : authService yml

* fix : broken build script

* refactor : TTL 상수화

* feat : GlobalExceptionHandler 추가

* feat : Redis 내 인증 페이로드 만료 시 예외 추가

* refactor : 인증 페이로드 TTL 상수명 변경

* refactor : Random Bean 생성자 주입으로 변경

* refactor : Random 객체 변경

* refactor : 메일 상수 접근제어자 변경

* refactor : Data Redis로 변경

* refactor : GUpdateUserAuthStatusRequest 필드 수정

* feat : 인증 이메일 재전송 API추가

* refactor : 인증 성공 시 해당 캐시 제거

* refactor : gRPC 통신 간 오류 발생 시 커스텀 예외 추가

* refactor : typo

* refactor : server port

* refactor : gRPC Client 등록

* refactor : GSendEmailAuthRequest Protobuf 필드 수정

* refactor : gRPC 클라이언트 클래스 네이밍 변경

* refactor: GrpcServer 네이밍 변경

* refactor: 톰캣 및 gRPC 포트 변경

* refactor: 이메일 호스트 주소 환경변수화

* refactor: add env in script

* refactor: add env in dockerfile

* fix : broken dockerfile

* refactor: 예외 처리 범위 확장

* refactor: 톰캣 및 gRPC 서버 포트 변경

* refactor: 유레카 주소 변경

* refactor : protobuf 파일 네이밍 변경

* feat : Passport protobuf 추가

* feat: 로그인 기능을 추가합니다. (#126)

* refactor: 유레카 주소 변경

* refactor : protobuf 파일 네이밍 변경

* feat: JWT Agent 추가

* feat: CookieAgent 추가

* feat: Web/Mobile Login Endpoint 추가

* refactor : typo

* feat : jwt secretkey 추가

* refactor : typo

* refactor : JwtAgent Interface 제거

* refactor : typo

* refactor : repackaging

* refactor : 만료기간에 대한 주석 추가

* refactor : JwtGenerator 중복 코드 개선

Co-authored-by: doxxx <doxxx93@gmail.com>

* refactor : 도커 파일 내 AUTH_JWT_SECRET_KEY 구문 추가

* refactor : github actions 환경변수 추가

* fix: Auth fix build script (#128)

* fix : typo

* fix : typo

* fix: indentions int dockerhub-push.yml

* feat : temp commit for cherrypick

* feat : Passport protobuf 추가

* feat : Passport 추가

- feat : Passport 발급 및 검증 기능 추가

- feat : Exception 핸들러 추가

- feat : HMacEncoder 추가

* feat: Add getFollowers rpc function to GSocialService

* refactor : passport 로직 제거

* fix: update build.gradle

* refactor : Passport 추출 방식 수정

* refactor : 프로토버퍼 수정 (message -> isSuccess, JWTValidateDTO)

* feat : UserService Proto LoadById

* refactor : Passport 관련 클래스 빈 환경설정 등록

* feat: user spring's ObjectMapper

* refactor : 로그인 gRPC 응답값 변경

* feat: [AUTH] Gateway와 통신하는 API Endpoint 를 추가합니다. (#138)

* fix: update build.gradle

* refactor : Passport 추출 방식 수정

* refactor : 프로토버퍼 수정 (message -> isSuccess, JWTValidateDTO)

* feat : UserService Proto LoadById

* refactor : Passport 관련 클래스 빈 환경설정 등록

* refactor : GSendEmailAuthResponse 필드 수정

* refactor : gRPCGatewayServer 추가

* refactor : passport 환경변수 추가

* refactor : gRPC 서버 통합

* docs : Dockerfile 내 passport 환경변수 추가

* feat: user spring's ObjectMapper

* refactor : 로그인 gRPC 응답값 변경

* feat : AuthUsecase JWT검증 및 패스포트 발급 추가

* refactor : JWT 필드 수정 email -> id

* feat : AuthService GrpcServer JwtValidate/Passport발급 기능 추가

* feat : passport 발급 엔드포인트 추가

* refactor : GrpcUserClient checkEmailWithPassword 반환값 수정

* refactor : github actions script 패스포트 추가

* feat : 패스프트로 유저 팔로잉, 팔로워 수를 조회하는 protobuf 추가

* feat : Passport Extract AOP 로직 추가

* feat : Passport Extract AOP 로직 추가

* refactor : EaselAuthenticationContext 삽입 필드 변경

* refactor : PassportExtractor decode구문 추가

* feat: 웹 클라이언트 로그아웃 기능 추가 (#157)

* feat : logout 기능 추가

* refactor : dependency typo

* docs : Add Docker Compose Syntax (#175)

* refactor : Aspect 내 예외처리 제거

* script: update GitHub workflow for Dockerhub push on auth service (#199)

* feat : Kafka, RabbitMQ 공통 모듈 추가

* feat : Detail Event 추가

* refactor : typo

* refactor : merge common module

* feat: add getter in constants

* feat: update PaintCreatedEvent by adding missing fields

* feat: add mention record

* feat: update mentionrecord

* docs: modify eureka server

* fix: add trust-package config

* docs : modify eureka addr

* docs : modify eureka hostname

* docs: eureka client addr

* refactor : exception integration

* refactor : exception response builder access identifier

* refactor : remove gateway exceptiontype

* refactor : exception integration by common module

* refactor : exception integration by common module

* docs : ci-cd

* feat: add gRPC paint response interface

* docs : typo

* docs : cicd typo

* docs : typo

* ci-cd : typo

* ci-cd : modify typo

* refactor : modify eureka server addr

* ci-cd : resolve permission

* feat: gRPC version change 1.60 -> 1.58

* refactor : Modify EmailAuth TTL

* refactor : renaming resendEmail

* feat: add UpdateUserImagePath message

* refactor : change & hide eureka server addr

* ci-cd : add env eureka server addr

* ci-cd : stop script

* ci-cd : resolve permission

* feat: update UpdateUserEvent message

* refactor : rollback email resend uri

* refactor : build.gradle

* refactor : email resend uri

* feat : UserService -> NotificationService 유저 생성 Protobuf 추가

* feat : Internal Error Logging Aspect 추가

* feat: Add TemporaryUserDeletionEvent class

* fix: remove getter

* feat: [Auth] email auth expire event (#250)

* feat: Email Auth Expiration event

* fix: remove getter

* feat : add UserCreatedEvent

* fix : modify UserCreatedEvent

* refactor: Update TopicConstant and TemporaryUserDeletionEvent

* feat: separate quote Paint

* refactor : add internal logging

* refactor : add internal logging in gRPC Server

* Add 'UNLIKED_PAINT' to TopicConstant, UnlikedPaintEvent

* refactor: Update field in PaintCreatedEvent

* fix: remove ReplyCreatedEvent

* feat: remove duplicated response

* refactor : add internal logging in gRPC Server
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature 새로운 기능을 만들 때 사용됩니다 service 백엔드 서비스 관련 내용을 다룰 때 사용됩니다
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants