발표자가 되었따...
2번쨰로 큰 발표를 내가 하다니... 영광일따름..!
그만큼 열심히 준비해가야지!
디자인이랑 프론트 쪽도 물론 이해가 필요하지만,
아무래도 백엔드 파트는 완벽하게 이해하고 발표하고 싶어서 정리하려구!!
자 드가자~
1. 카카오 소셜 로그인 Flow 설명
[ 카카오 로그인 순서 ]
- 프론트에서 로그인 요청을 한다
- 스프링에서 이를 눈치채고(?) 카카오에 Authorization을 요청한다
- 사용자가 인증을 하면 카카오에서 정보를 전달해준다
- 받은 정보를 토대로 User 테이블에 저장/수정 한다
- successHandler에서 JWT를 사용하여 access token과 refresh token을 생성하고, refresh token은 redis에 저장한다
- 생성한 토큰들을 리다이렉트 url의 쿠키로 설정하여 다시 프론트에게 응답한다
[ 토큰 재발급 방법 ]
- 프론트에서 refresh token을 헤더에 담아 재발급 api를 요청한다
- 받은 refresh token의 유효성을 확인하고 유효하지 않은 경우(토큰 기한 만료 or 로그아웃) 에러를 발생시킨다(재로그인 유도)
- 토큰이 유효한 경우에는 access token과 refresh token을 재발급한다
- 이 때 refresh token은 redis에서 업데이트 해준다
- 새로 생성한 토큰들을 헤더에 담아 프론트에게 응답한다
[ 로그아웃 방법 ]
- 프론트에서 refresh token과 access token을 헤더에 담아서 로그아웃 api를 요청한다
- 받은 refresh token은 redis에서 삭제한다
- access token은 redis에 블랙리스트로 등록하여, 해당 토큰으로 로그인 시도 시 접근이 불가하도록 한다
참고)
https://github.com/depromeet/antoon-api/wiki/OAuth2.0-%EA%B3%B5%EB%B6%80%F0%9F%94%A5
위에는 내가 작성한 우리팀 위키~!
틀린거 많지만 일단 보십셔
2. 아키텍처
백엔드는 AWS 클라우드 환경에서 애플리케이션 서비스를 배포 및 운영하고 있음
Github action과 aws code deploy를 이용하여 각자 작업한 코드들을 통합하고(CI), 자동으로 애플리케이션을 aws에 배포함. (CD)
애플리케이션은 aws ec2와 docker container를 이용하여 배포 및 실행 하고 있음
http는 브라우저와 서버가 정보를 평문으로 전송하기 때문에 보안 문제가 발생할 수 있습니다.
따라서 이를 방지하기 위해 aws certificate Manager를 이용하여 SSL 인증서를 발급받고, Route53을 이용하여 저희 프로젝트의 도메인 (antoon.fun)을 적용 및 호스팅하고 있음
그리고 aws 로드밸런서를 이용하여 http 로 접속시 https로 리다이렉션하도록 설정함
그 외의 발표 자료와 발표 대본은 저희 디프만 1번출구에게 저작권이 있는 관계로 여기까지만 올리겠습니다(?)
귀찮은거 아니고 진짜로 저작권때문이에욤,,
그럼 안뇽
'디프만 11기' 카테고리의 다른 글
🔥 의정부 핵꿀밤 스터디 목록 IN antoon wiki 🔥 (0) | 2022.06.04 |
---|---|
[Redis] redis docker 삽질 기록🛠 (0) | 2022.05.10 |
[JPA] getById() vs findById() (0) | 2022.04.24 |
백엔드 - 프론트엔드 OAuth2.0 고민 해결! (0) | 2022.04.10 |
Elevator Pitch (0) | 2022.03.25 |
댓글