Skip to content

feat: 구글 소셜 로그인 기능 구현 #9

Description

@UjinVV

Ⅰ. 이슈 설명 (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를 사용해 관리할 예정

Metadata

Metadata

Assignees

Labels

feat기능 추가

Fields

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions