프로젝트

일반

사용자정보

Actions

Sub-Task #226

진행중

마일스톤 #33: 시스템 분리: SS 와 DS

Task #221: 인증/인가 서버 구축

BE 기능 개발

현진 정이(가) 일년 이상 전에 추가함. 일년 이상 전에 수정됨.

상태:
진행
담당자:
시작일:
2024/05/16
완료기한:
진척도:

80%

소요시간:

설명

목적

  • 통합 유저 관리 서비스의 핵심인 백엔드 기능을 안정적이고 확장 가능하게 개발
  • 인증 및 인가 기능의 분리를 통해 보안 강화 및 관리 용이성 향상
  • B2B-G/B2C 서비스에서 일관된 유저 관리와 인증/인가 체계를 제공

목표

  • 유저 관리 기능 개발
  • 유저 로그인 및 로그아웃 기능 구현
  • 권한 관리 및 검증 기능 개발
  • 유저 정보 DB 스키마 설계 및 구축
  • Supabase와의 연동을 통한 인증 및 인가 프레임워크 설정
  • 유닛 테스트 및 통합 테스트 작성
  • API 명세서 작성
  • CI/CD 파이프라인 설정 및 자동화
  • 모니터링 및 로그 관리 시스템 구축
Actions #1

중은 정이(가) 일년 이상 전에 변경

Actions #2

현진 정이(가) 일년 이상 전에 변경

Actions #3

지호 송이(가) 일년 이상 전에 변경

  • 담당자을(를) 현진 정(으)로 지정되었습니다.
Actions #4

지호 송이(가) 일년 이상 전에 변경

필수

유저 관리 기능 개발
유저 로그인 및 로그아웃 기능 구현
권한 관리 및 검증 기능 개발
유저 정보 DB 스키마 설계 및 구축
Supabase와의 연동을 통한 인증 및 인가 프레임워크 설정

우대

유닛 테스트 및 통합 테스트 작성
API 명세서 작성
CI/CD 파이프라인 설정 및 자동화
모니터링 및 로그 관리 시스템 구축

Actions #5

현진 정이(가) 일년 이상 전에 변경 · Edited

  • 상태을(를) 신규에서 진행(으)로 변경되었습니다.
  • 진척도을(를) 0에서 10(으)로 변경되었습니다.

📄

F/E와 supabase을 연동하여 회원가입/로그인/로그아웃을 반복하며 테스트함으로서, supabase를 세팅하는 sql 스크립트가 목표하는 대로 동작하는지 확인 진행중에 있습니다. 어떠한 사용자 시나리오를 계획하고 있는지 차주 도식화하여 검토 예정입니다.

해당커밋

https://gitlab.mv-w.com/hjjeong/supabase-test/-/commit/7c2a2131387cc4cef054790f30d19a63de0c0125

Actions #6

현진 정이(가) 일년 이상 전에 변경 · Edited

📄

(1) 이전까지 진행상황

  • react 환경에서 간단한 로그인, 회원가입폼을 구현한 후 supabase와 연동하여 테스트를 진행하며 supabase 세팅스크립트 작성

(2) 오늘 진행상황

  • 테스트를 위한 supabase 세팅스크립트 작성 및 테스트 완료
  • 세팅된 환경과 연동된 SSR F/E 구축(회원가입,로그인 등을 next.js^14 + MUI^5.0 + typescript 환경에서 구현하여 정상동작 확인 진행중)

(3) 진행이 필요한 업무

어떠한 사용자 시나리오를 계획하고 supabase 세팅 및 테스트를 진행하고 있는지 도식화하여 검토받는것이 필요

(4) 관련 GIT

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test

Actions #7

현진 정이(가) 일년 이상 전에 변경 · Edited

📄

(1) 오늘 진행상황

PKCE 방식의 인증인가 방식 구현

  • 세팅된 환경과 연동된 SSR F/E 구축(회원가입,로그인 등을 next.js^14 + MUI^5.0 + typescript 환경에서 구현하여 정상동작 확인 진행중)
  • supabase route provider의 각각의 종류와 사용 예시를 탐색, 코드에 적용
  • (현재 테스트 확인된 부분) 임의의 F/E (이하, A) 에서 로그인 버튼을 클릭하여 별도 구축된 AUTH 페이지(이하, B)로 라우팅
  • B에서 로그인 또는 회원가입이 가능함 확인
  • B에서 로그인이 성공하면 다시 A로 라우팅

(2) 진행이 필요한 업무

  • A에서 로그인한 후 B로 라우팅되고, B에서 세션 여부를 확인한 뒤 로그인된 상태가 되도록 추가 작업필요

(3) 관련 GIT

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/47382afa4548bdadd0920008ecbbea92f2120852

Actions #8

현진 정이(가) 일년 이상 전에 변경

📄

(1) 오늘 진행상황

PKCE 방식의 인증인가 방식 구현

  • 로그인 기능 구축 및 테스트: 완료
  • 회원가입 기능 구축 및 테스트: 완료
  • 회원 정보 수정 기능 테스트: 진행중

(2) 진행이 필요한 업무

  • 회원 정보 수정 기능
  • session이 어떤상황까지 지속되고 끊기는지 테스트 진행 필요

(3) 관련 GIT

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/caa4adaf564129b6a215ba2742aba8d603a5058b
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/99b6ce0a6b2b62802a3718971c7d8617ce4cafef

Actions #9

현진 정이(가) 일년 이상 전에 변경

  • 진척도을(를) 10에서 20(으)로 변경되었습니다.

📄

(1) 오늘 진행상황

PKCE 방식의 인증인가 방식 구현

  • 회원 정보 수정 기능 테스트: 완료
  • session이 어떤상황까지 지속되고 끊기는지 테스트 진행후 코드개선
  • 코드구조 및 디자인 개선

(2) 진행이 필요한 업무

추후 만들어질 다른 플랫폼에서 인증인가플랫폼을 연동할 수 있도록 유틸리티화(spring boot의 service 레이어를 참고)

(3) 관련 GIT

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/c1419a60349f44a4349dcb5984c5d0f2f02c9382
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/fc5c72c27297f214ce993ce53bc9e477bed5e7ec

Actions #10

현진 정이(가) 일년 이상 전에 변경 · Edited

📄

(1) 오늘 진행상황

PKCE 방식의 인증인가 방식 구현

지금까지 작업내용 노트에 정리
url의 쿼리파라미터로 토큰전달하는 방식 수정 (진행중)
code cerifier 를 통한 사용자확인 기능 추가 (진행중)

(2) 관련 자료

https://note.mv-w.com/doc/eg-wayauthtest-Os7nCqRuUw

Actions #11

현진 정이(가) 일년 이상 전에 변경

📄

(1) 오늘 진행상황

PKCE 방식의 인증인가 방식 구현

  • url의 쿼리파라미터로 토큰전달하는 방식 수정 (진행중)
  • code cerifier 를 통한 사용자확인 기능 추가 (진행중)

(2) 관련 GIT

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/6f9bba5ee1dbd8bb4da7191d12b991f3aaf77b4f

Actions #12

현진 정이(가) 일년 이상 전에 변경

  • 진척도을(를) 20에서 30(으)로 변경되었습니다.

📄

(1) 오늘 진행상황

PKCE 방식의 인증인가 방식 구현

  • PKCE FLOW를 잘 반영하도록 구현진행(routing 시 대기화면 노출시간이 긴 부분 개선필요)
  • 다양한 접근 및 활용 케이스를 대비하여 에러표출 및 리다이렉트 기능 추가 : 진행중

(2) 관련 GIT

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/f3d30a92288d148aae786165f9878045148df834
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/ed8083bdaafd96f2b73918a5afae7e37d2a9e639

Actions #13

현진 정이(가) 일년 이상 전에 변경 · Edited

📄

(1) 오늘 진행상황

PKCE 방식의 인증인가 방식 기능적구현 완료

  • PKCE FLOW를 잘 반영하도록 구현진행 완료
  • 다양한 접근 및 활용 케이스를 대비하여 에러표출 및 리다이렉트 기능 추가 완료

→ 이제 검토받고 코드정리해서 기존코드에 병합하고 배포하는 것만 남음(물론 중간에 변경 및 추가사항이 필요하면 진행)

(2) 관련 GIT

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/4fd69a612aca929eeac885a5544d2dca1098fa96
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/d77cb4be110208c32d55e8f850f5b4d77e8479dc

(3) 설명자료 업데이트

https://note.mv-w.com/doc/eg-wayauthtest-Os7nCqRuUw

Actions #14

현진 정이(가) 일년 이상 전에 변경 · Edited

📄

(1) 오늘 진행상황

→ 이제 검토받고 코드정리해서 기존코드에 병합하고 배포하는 것만 남음(물론 중간에 변경 및 추가사항이 필요하면 진행)

Actions #15

현진 정이(가) 일년 이상 전에 변경 · Edited

  • 진척도을(를) 30에서 40(으)로 변경되었습니다.

📄

(1) 오늘 진행상황

PKCE 방식의 인증인가 방식 기능적구현 완료

  • 다양한 접근에 따른 적절한 에러처리(라우팅, 에러메시지 등) 처리
    테스트한 케이스 노트에 정리 예정

(2) 관련 GIT

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/9091054edc90f8ad72d5f98f47b8146344ae1a98

Actions #16

현진 정이(가) 일년 이상 전에 변경

📄

(1) 오늘 진행상황

  • 지호수석님께 진행 상황 공유, 수석님이 테스트진행 할 환경 구축해서 전달필요
Actions #17

현진 정이(가) 일년 이상 전에 변경

  • 진척도을(를) 40에서 50(으)로 변경되었습니다.

(1) 오늘 진행상황

  • 수석님 커멘트 반영하여 '@supabase/auth-ui-react'를 적용하는 방향으로 진행

(2) 관련 GIT

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/tree/example?ref_type=heads

Actions #18

현진 정이(가) 일년 이상 전에 변경 · Edited

(1) 오늘 진행상황

Actions #19

현진 정이(가) 일년 이상 전에 변경

(1) 오늘 진행상황

Actions #20

현진 정이(가) 일년 이상 전에 변경

(1) 오늘 진행상황

(2) 이후 계획

유저의 권한과 기능제한 기능을 관리할 수 있도록 추가

Actions #21

현진 정이(가) 일년 이상 전에 변경

(1) 오늘 진행상황

(2) 이후 계획

supabase의 jwt를 api.eg-way의 jwt로 사용하는 기능이 추가되기 전까지 임의로 기능만 적용진행

Actions #22

현진 정이(가) 일년 이상 전에 변경

(1) 오늘 진행상황

Actions #23

현진 정이(가) 일년 이상 전에 변경 · Edited

  • 진척도을(를) 50에서 60(으)로 변경되었습니다.

(1) 오늘 진행상황

Actions #24

현진 정이(가) 일년 이상 전에 변경

(1) 오늘 진행상황

진짜 거의 마무리 개발문서 작성예정

Actions #26

현진 정이(가) 일년 이상 전에 변경

(1) 오늘 진행상황

  • 코드 정리 및 타입정리, JSDoc 작성 DB구조 수석님께 검토완료
  • 수석님의 커멘트를 기반으로 users에 role_id 추가하면서 supabase sql 오류발생, 수정필요

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/67a80fe87ab881d90c7b05b348a60a68e205907a
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/61a0372dc6bab27cfe1a116fd8b8175bed678e6b

Actions #28

현진 정이(가) 일년 이상 전에 변경 · Edited

(1) 오늘 진행상황

  • 이용약관, 개인정보보호방침 페이지 추가작업 및 로그인 UI 개선

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/1098aa6a324e1a8ca6b4956d4b344b187072882a

Actions #29

현진 정이(가) 일년 이상 전에 변경

(1) 오늘 진행상황

Actions #30

현진 정이(가) 일년 이상 전에 변경

Actions #32

현진 정이(가) 일년 이상 전에 변경

web과 account의 토큰사용 싱크작업 + user dropdown 고도화

https://gitlab.mv-w.com/moveawheel/eg-way.web/-/commit/fd13ffd19ac475cabf39c867ac775aa35e5b3116
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/1dcdf618f07795011a5428b51880c094041ecc3a

※ 내일 account 프로젝트 build & docker에 올리고, (여유있으면 ErrorBoundary까지 적용) 그리고 supabase 설치하여 배포테스트 진행예정

Actions #33

현진 정이(가) 일년 이상 전에 변경

  1. egway 서버내에 self hosting 방식으로 supabase 배포진행(지호수석님)
  2. docker 빌드테스트 진행을 위한 문제해결
  • 문제발생: 컨테이너 내부에서 생성되는 node_modules에 next를 포함한 주요 모듈들이 window의 node_modules와 symbolic link로 연결되어 인지하지 못하는 상황발생
  • 문제해결: dockerignore를 설정하여 node_module 및 symbolic link로 연결되는 것들을 ignore하여 컨테이너 내부에서 sybolic link를 생성하지 않고 새로 install 하도록 세팅 후 정상빌드 확인

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/767948edf8f30d3ec361dd1e8e213ffc2f6bfdd9

Actions #34

현진 정이(가) 일년 이상 전에 변경

  • postgres RLS 이해를 기반으로 회원가입 절차 내 이메일 중복확인 기능 정상화
  • postgres RLS 이해를 기반으로 supabase 세팅 sql 스크립트 수정
  • JWT 토큰연동확인

https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/f148cd8a0f71510c131bb25da582a159da685c99
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/d49222580a198da4614d6e3f24c4377bc13cfc93

Actions

내보내기 Atom PDF