-
Notifications
You must be signed in to change notification settings - Fork 1
Description
기능 설명
사용자는 Google / Naver / Kakao 소셜 로그인을 통해 서비스에 가입/로그인할 수 있다.
소셜 로그인 성공 시 서버는 사용자 정보를 확인해 기존 사용자면 로그인, 없으면 신규 사용자 생성을 수행한다.
인증은 JWT(Access Token / Refresh Token) 기반으로 동작하며,
클라이언트는 발급받은 토큰을 통해 인증이 필요한 API(예: 내 프로필 조회) 를 호출할 수 있다.
또한 동일 이메일로 이미 다른 Provider로 가입되어 있는 경우, 중복 가입을 방지하고 적절한 에러를 반환한다.
완료조건
Scenario 1. Google로 신규 가입/로그인 할 수 있다
Given 사용자가 로그인되지 않은 상태이고
When 사용자가 Google 소셜 로그인을 시도해 인증에 성공하면
Then 서버는 사용자 정보를 조회하고, 존재하지 않으면 사용자를 생성한다
And 서버는 Access Token과 Refresh Token을 발급한다
And 사용자는 발급된 토큰으로 인증이 필요한 API를 호출할 수 있다
Scenario 2. Naver로 신규 가입/로그인 할 수 있다
Given 사용자가 로그인되지 않은 상태이고
When 사용자가 Naver 소셜 로그인을 시도해 인증에 성공하면
Then 서버는 사용자 정보를 조회하고, 존재하지 않으면 사용자를 생성한다
And 서버는 Access Token과 Refresh Token을 발급한다
And 사용자는 발급된 토큰으로 인증이 필요한 API를 호출할 수 있다
Scenario 3. Kakao로 신규 가입/로그인 할 수 있다
Given 사용자가 로그인되지 않은 상태이고
When 사용자가 Kakao 소셜 로그인을 시도해 인증에 성공하면
Then 서버는 사용자 정보를 조회하고, 존재하지 않으면 사용자를 생성한다
And 서버는 Access Token과 Refresh Token을 발급한다
And 사용자는 발급된 토큰으로 인증이 필요한 API를 호출할 수 있다
Scenario 4. 이미 가입된 사용자는 동일 Provider로 재로그인할 수 있다
Given 사용자가 특정 Provider(예: Google)로 가입되어 있고
When 사용자가 동일 Provider로 다시 소셜 로그인을 성공하면
Then 서버는 기존 사용자로 판단하고 사용자 생성 없이 로그인 처리한다
And 서버는 Access Token과 Refresh Token을 재발급한다
참고 자료 (선택)
No response