Ⅰ. 이슈 설명 (Issue Description)
한세로 서비스에 구글 OAuth 2.0 기반 소셜 로그인 기능을 도입.
사용자는 별도의 회원가입 절차 없이 구글 계정을 통해 로그인할 수 있으며, 한세대학교 재학생만 사용 가능하도록 학교 이메일 도메인(@hansei.ac.kr) 검증을 포함한 인증 흐름을 구현하는 것이 목적
Ⅱ. 발생한 문제 (Describe what happened)
한세대학교 학생만을 대상으로 하는 서비스 특성상 임의의 외부 사용자가 접근할 수 있는 구조는 보안 및 서비스 목적에 맞지 않아, 신뢰할 수 있는 인증 수단과 이메일 도메인 검증이 필요
Ⅲ. 기대한 동작 (Describe what you expected to happen)
- 사용자가 구글 로그인 버튼 클릭 시, 구글 OAuth 인증 페이지로 이동
- 로그인 성공 시 백엔드에서 인가 코드를 처리하여 사용자 정보를 조회
- 구글 계정의 이메일이 @hansei.ac.kr 도메인이고, 이메일 인증이 완료된 경우에만 로그인 허용
- 사용자 이름이 [학과/이름] 형식일 경우, 이를 파싱하여 사용자 정보로 저장
- 인증이 완료되면 서비스에서 사용할 JWT(access / refresh)를 발급
- 이후 요청은 JWT 기반 인증으로 보호
Ⅳ. 재현 방법 (How to reproduce it)
...
Ⅴ. 추가로 알아야 할 사항 (Anything else we need to know?)
Refresh Token은 보안을 위해 HttpOnly 쿠키로 전달 및 관리
OAuth 설정 값(Client ID, Secret, Redirect URI 등)은 @ConfigurationProperties를 사용해 관리할 예정
Ⅰ. 이슈 설명 (Issue Description)
한세로 서비스에 구글 OAuth 2.0 기반 소셜 로그인 기능을 도입.
사용자는 별도의 회원가입 절차 없이 구글 계정을 통해 로그인할 수 있으며, 한세대학교 재학생만 사용 가능하도록 학교 이메일 도메인(@hansei.ac.kr) 검증을 포함한 인증 흐름을 구현하는 것이 목적
Ⅱ. 발생한 문제 (Describe what happened)
한세대학교 학생만을 대상으로 하는 서비스 특성상 임의의 외부 사용자가 접근할 수 있는 구조는 보안 및 서비스 목적에 맞지 않아, 신뢰할 수 있는 인증 수단과 이메일 도메인 검증이 필요
Ⅲ. 기대한 동작 (Describe what you expected to happen)
Ⅳ. 재현 방법 (How to reproduce it)
...
Ⅴ. 추가로 알아야 할 사항 (Anything else we need to know?)
Refresh Token은 보안을 위해 HttpOnly 쿠키로 전달 및 관리
OAuth 설정 값(Client ID, Secret, Redirect URI 등)은 @ConfigurationProperties를 사용해 관리할 예정