지난 포스팅에서 OAuth2.0에 대해 알아 보았고, 이번 포스팅에서는 간단하게 소셜 로그인을 구현 하려고 한다.
각 로그인 API 설정을 받아야 한다.
1. Google
https://console.cloud.google.com/projectselector2/apis/dashboard?supportedpurview=project
Google 클라우드 플랫폼
로그인 Google 클라우드 플랫폼으로 이동
accounts.google.com
1. Google 클라우드 플랫폼에 접속하여 프로젝트가 없다면 프로젝트를 만들어 준다.

2. 사용자 인증 정보 - 사용자 인증 정보 만들기

3. 이후 동의 화면 구성을 만든다.

4. Google 계정이 있는 모든 사용자가 사용 가능하도록 외부로 설정한다.

5. 동의화면은 구성되었고, OAuth 클라이언트 만들기로 진입한다.
프론트는 간단하게 SSR로 구현할것이고 콜백 URI 를 넣어줘야 한다.
프로젝트 구조상 social_login/google/callback과 googl/callback을 추가 해준다.

6. 만들기로 생성을 하면 OAuth 클라이언트가 생성된다.
클라이언트 ID 와 클라이언트Sceret(클라이언트 보안 비밀번호)를 복사해두어야 한다.

2. Kakao
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해 보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
앱 - 생성을 눌러 앱을 생성한다

앱이 생생되면 대시보드에서 추가 설정을 할수 있다.
카카오 로그인과 동의 항목을 설정해준다.

- 카카오로그인
- 사용설정 ON
- 리다이렉트 URI에 CallbackURI을 적어준다.
- Client Secret 사용 설정 후 코드는 복사하여 따로 보관 하고, 상태는 사용함으로 설정한다.

- 동의 항목
- 이름 or 닉네임과 계정 이메일이 필요하다. 하지만 카카오계정과, 이름은 설정할수 없게 되어있다.

- 개인정보 동의항목 설정에 대한 문서
- 큰 서비스를 위해서는 다양한 정보들이 필요하겠지만, 로그인 구현 단계에서는 사용자의 이메일 정도만 있으면 된다고 판단된다. 카카오 계정 이메일 정보는, 비즈앱, 테스트 앱 권한이 필요하다.

- 대시보드에서 비즈앱 등록
- 비즈앱 전환시 이메일을 필수 동의항목으로 설정할수 있으며, 사업자 번호가 없는 개인 개발자는 본인인증과 카카오 비즈니스 통합 약관 동의 후 비즈앱 전환이 가능하다.

비즈앱 전환
비즈앱 전환을 위해서는 먼저 앱 아이콘 이미지가 있어야 한다. 일반 회사면 기업의 아이콘이 있겠으나, 나는 없기에 GPT에게 이미지 생성을 부탁했다.

비즈니스 정보 등록
아이콘 등록후 비즈니스 정보 에서 개인 개발자 비즈앱 전환으로 이메일 필수 동의를 할수 있다.


동의 항목 신청
다시 대시보드로 돌아가면 카카오계정을 사용할수 있게 바뀌어있다.
동의 목적에 개인정보 수집으로 설정을 해두었다.

3. Naver
https://developers.naver.com/apps/#/list
애플리케이션 - NAVER Developers
developers.naver.com
Application 등록

회원 정보를 등록하려면 이메일과 이름이 필요하다. 하지만 사용자 이메일 정보는 보이지 않는다.
연락처 이메일 주소만 있다. 이것은 회원정보를 찾을때 사용하는 백업 이메일을 가져오는것이다.

만약 백업 이메일이 구글, 또는 카카오로 로그인 되어있을 경우 동일 메일인식하여, DB 저장 간 가입이 안될수 있다.
개발 가이드 문서에는 이메일 제공 항목이 있으나 현재는 없다. 일단은 연락처 이메일로 작성하고 차후 이용자 식별자 등 다른 방법으로 변경을 해야 할 것같다.
'WEB 개발' 카테고리의 다른 글
| [OAuth] OAuth2.0 이란? (0) | 2025.09.02 |
|---|---|
| [FastAPI] FileUpload, FileDownload (feat.BackgroundTasks) (0) | 2025.08.30 |
| [Github Action] AWS에 자동 배포 하기 (0) | 2025.08.25 |
| [AWS] EC2 인스턴스 생성하기 (2) | 2025.08.25 |
| [FastAPI] 비밀번호 변경 구현하기(feat. Redis, SMTP) (2) | 2025.07.25 |