Sub-Task #226
진행중현진 정이(가) 일년 이상 전에 추가함. 일년 이상 전에 수정됨.
설명
목적¶
- 통합 유저 관리 서비스의 핵심인 백엔드 기능을 안정적이고 확장 가능하게 개발
- 인증 및 인가 기능의 분리를 통해 보안 강화 및 관리 용이성 향상
- B2B-G/B2C 서비스에서 일관된 유저 관리와 인증/인가 체계를 제공
목표¶
- 유저 관리 기능 개발
- 유저 로그인 및 로그아웃 기능 구현
- 권한 관리 및 검증 기능 개발
- 유저 정보 DB 스키마 설계 및 구축
- Supabase와의 연동을 통한 인증 및 인가 프레임워크 설정
- 유닛 테스트 및 통합 테스트 작성
- API 명세서 작성
- CI/CD 파이프라인 설정 및 자동화
- 모니터링 및 로그 관리 시스템 구축
현진 정이(가) 일년 이상 전에 변경 · Edited
- 상태을(를) 신규에서 진행(으)로 변경되었습니다.
- 진척도을(를) 0에서 10(으)로 변경되었습니다.
📄
F/E와 supabase을 연동하여 회원가입/로그인/로그아웃을 반복하며 테스트함으로서, supabase를 세팅하는 sql 스크립트가 목표하는 대로 동작하는지 확인 진행중에 있습니다. 어떠한 사용자 시나리오를 계획하고 있는지 차주 도식화하여 검토 예정입니다.
해당커밋¶
https://gitlab.mv-w.com/hjjeong/supabase-test/-/commit/7c2a2131387cc4cef054790f30d19a63de0c0125
현진 정이(가) 일년 이상 전에 변경 · Edited
📄
(1) 이전까지 진행상황¶
- react 환경에서 간단한 로그인, 회원가입폼을 구현한 후 supabase와 연동하여 테스트를 진행하며 supabase 세팅스크립트 작성
(2) 오늘 진행상황¶
- 테스트를 위한 supabase 세팅스크립트 작성 및 테스트 완료
- 세팅된 환경과 연동된 SSR F/E 구축(회원가입,로그인 등을 next.js^14 + MUI^5.0 + typescript 환경에서 구현하여 정상동작 확인 진행중)
(3) 진행이 필요한 업무¶
어떠한 사용자 시나리오를 계획하고 supabase 세팅 및 테스트를 진행하고 있는지 도식화하여 검토받는것이 필요
(4) 관련 GIT¶
현진 정이(가) 일년 이상 전에 변경 · 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
현진 정이(가) 일년 이상 전에 변경
📄
(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
현진 정이(가) 일년 이상 전에 변경
- 진척도을(를) 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
현진 정이(가) 일년 이상 전에 변경
- 진척도을(를) 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
현진 정이(가) 일년 이상 전에 변경 · 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) 설명자료 업데이트¶
현진 정이(가) 일년 이상 전에 변경 · Edited
📄
(1) 오늘 진행상황¶
-
현재 구현된 내용을 이해하기 쉽게 노트에 정리
https://note.mv-w.com/doc/eg-wayauthtest-Os7nCqRuUw -
구현된 코드를 다양한 케이스로 테스트 계획을 수립하여 노트에 정리
https://note.mv-w.com/doc/7ywm7iqk7yq4ioqzho2ajeyena-kb4i1TI4kG -
개선된 DB 구조를 반영하는 SUPABASE 세팅 SQL스크립트 문서작성
https://note.mv-w.com/doc/supabase-sql-kHnEt0sixz
→ 이제 검토받고 코드정리해서 기존코드에 병합하고 배포하는 것만 남음(물론 중간에 변경 및 추가사항이 필요하면 진행)
현진 정이(가) 일년 이상 전에 변경 · Edited
(1) 오늘 진행상황¶
-
'@supabase/auth-ui-react' 중심의 로그인환경 세팅
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/bad6c82e18ba9e89f23b7013b97677ec312c5332 -
진행상황 노트 정리
https://note.mv-w.com/doc/central-authentication-service-Os7nCqRuUw
현진 정이(가) 일년 이상 전에 변경
(1) 오늘 진행상황¶
- i18n 추가
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/f1a9cbe5a80f4893a68c2497c1781cd1b287f980 - 로그인, 회원가입 페이지 배치변경
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/42a00eb6c494077b551cf65af2da9882f4b19067 - mui와 supabase-auth 스타일 싱크로 맞추기
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/d06f8860b3880ae867ad8bf3ab6341416368c33e
(2) 이후 계획¶
유저의 권한과 기능제한 기능을 관리할 수 있도록 추가
현진 정이(가) 일년 이상 전에 변경
(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
현진 정이(가) 일년 이상 전에 변경 · Edited
- 진척도을(를) 60에서 80(으)로 변경되었습니다.
(1) 오늘 진행상황¶
- 마무리 후 수석님 검토 완료
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/8029f52add817907975c37d0ceac9ee401e35fa1
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/b5d5dc72fbda7fc98fe8fc25850a16abb6b35989
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/239fe811f7c0d934c5fd811f4b11f6724e5907f0
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/6976f19c861bf943aae121c79b6ee4737de12e98
현진 정이(가) 일년 이상 전에 변경
회원가입시 동의한 이용약관에 대한 정보 추가
https://gitlab.mv-w.com/hjjeong/eg-way.auth.test/-/commit/4b4f2740a114dbbfc71691a7b4c928e0ffcabc95
현진 정이(가) 일년 이상 전에 변경
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 설치하여 배포테스트 진행예정
현진 정이(가) 일년 이상 전에 변경
- egway 서버내에 self hosting 방식으로 supabase 배포진행(지호수석님)
- 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
현진 정이(가) 일년 이상 전에 변경
- 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