카카오 OAuth 설정

한국 시장에 필수입니다. 카카오 로그인 옵션 없이는 가입을 포기하는 한국 사용자가 많습니다. 참고: DontCode는 모든 사용자에 이메일이 필요한데, 카카오는 일반 앱에는 이메일 수집을 허용하지 않습니다, "비즈 앱"으로 전환해야 합니다. 본 가이드는 OAuth 자격 증명 등록과 비즈 앱 전환(무료, 사업자등록번호가 없는 개인 개발자도 가능) 모두를 안내합니다.

약 10분
설정 가이드
developers.kakao.com공식 문서

설정 단계

  1. 1

    Kakao Developers 열기

    developers.kakao.com에 접속해 카카오 계정으로 로그인하고 개발자 약관에 동의합니다.

  2. 2

    애플리케이션 생성

    내 애플리케이션 → 애플리케이션 추가하기. 앱 이름, 회사명(선택), 아이콘을 입력하고 저장합니다.

  3. 3

    앱 열고 REST API 키 찾기

    생성한 애플리케이션을 클릭합니다. 요약 페이지에 4개의 키가 보입니다: 네이티브 앱 키, REST API 키, JavaScript 키, Admin 키. DontCode는 REST API 키를 클라이언트 ID로 사용합니다.

  4. 4

    카카오 로그인 활성화

    왼쪽 사이드바에서 카카오 로그인을 클릭하고, 활성화 설정을 ON으로 토글합니다.

  5. 5

    클라이언트 시크릿(Client Secret) 발급

    카카오 로그인 → 보안으로 이동합니다. Client Secret 사용함을 ON으로 토글하고 코드 생성을 클릭합니다. 생성된 값을 복사해 두세요. DontCode가 서버 측에서 로그인을 완료할 때 사용합니다. 비밀번호처럼 취급하세요.

  6. 6

    리다이렉트 URL 추가

    카카오 로그인 페이지에서 "Redirect URI" 항목을 찾아 등록을 클릭합니다. DontCode 리다이렉트 URL(https://<배포된-도메인>/api/auth/oauth/callback)을 붙여넣고 저장합니다.

  7. 7

    비즈 앱 전환이 필요한 이유

    DontCode는 이메일을 사용자 식별자로 사용합니다, 모든 계정에 이메일이 필요합니다. 그런데 카카오는 일반 앱에 카카오계정(이메일) 동의항목을 허용하지 않습니다. 비즈 앱으로 전환해야만 동의항목이 잠금 해제됩니다. 이는 카카오 플랫폼 정책이며 DontCode가 변경할 수 없습니다. 전환하기 전에는 이메일을 요청하는 모든 카카오 로그인이 KOE205 오류로 실패합니다. 다음 두 단계가 전환 절차를 안내합니다. 비즈 앱 전환은 무료이며 두 가지 경로 중 본인에게 맞는 것을 선택하세요.

  8. 8

    경로 A, 사업자등록번호로 비즈 앱 전환

    한국 사업자등록번호가 있다면 가장 빠른 경로입니다. 앱 설정 → 앱 → 일반으로 이동합니다. 비즈니스 정보 섹션에서 비즈 앱 전환을 클릭합니다. 사업자등록번호와 일치하는 사업자 정보를 입력합니다. 카카오가 자동으로 검증하며 보통 몇 분 안에 처리됩니다. 경로 B는 건너뛰고 "동의항목 설정" 단계로 이동합니다.

  9. 9

    경로 B, 개인개발자 비즈 앱 (사업자번호 없는 경우)

    사업자등록번호가 없어도 개인 개발자로 비즈 앱 전환이 가능합니다. 두 가지 조건이 필요합니다. (1) 앱 소유자의 카카오 계정에서 본인인증을 완료해야 합니다(휴대폰 본인인증). (2) 카카오비즈니스 통합 서비스 약관에 동의해야 합니다. 그 다음 devtalk.kakao.com에 "개인개발자 비즈앱 전환"을 요청하는 게시글을 작성합니다. 게시글에는 다음을 포함합니다: 앱 이름, 앱 ID, 개발자 계정 이메일, 본인인증 완료 여부(Y/N), 신청 사유("이메일 필수 동의 설정"). 카카오 관리자가 보통 영업일 기준 1~3일 안에 처리합니다. 해외 거주 등으로 휴대폰 본인인증이 어려운 경우에도 같은 데브톡 게시글에 상황을 설명하면 대체 인증 방법을 안내받을 수 있습니다.

  10. 10

    동의항목 설정

    비즈 앱 전환이 완료되면 카카오 로그인 → 동의항목으로 이동합니다. 닉네임을 찾아 필수 동의로 설정합니다. 카카오계정(이메일)을 찾으면, 이제 잠금 해제되어 있어야 합니다, 필수 동의로 설정합니다. 각 동의항목에는 동의 목적을 간단히 입력해야 합니다(예: "사용자 식별 및 알림 발송"). 입력 후 저장을 클릭합니다. DontCode는 이메일 없이 작동하지 않으므로 사용 안 함으로 두지 마세요. 사용자가 건너뛸 수 있게 하려면 선택 동의로 설정해도 되지만, 동의하지 않은 사용자에게는 임의 이메일이 부여되어 비밀번호 재설정·알림·트랜잭션 이메일을 받지 못합니다.

  11. 11

    두 값을 DontCode에 붙여넣기

    DontCode 프로젝트의 사용자 → 로그인 설정 → 카카오로 이동합니다. REST API 키를 클라이언트 ID 칸에, 보안에서 발급한 값을 클라이언트 시크릿 칸에 붙여넣고 저장을 클릭합니다. 앱이 자동으로 재배포되며 카카오 로그인은 몇 초 안에 적용됩니다.

카카오 OAuth 설정: 문제 해결

일반적인 문제는 메인 가이드의 문제 해결 섹션도 함께 확인하세요.

KOE205: "동의항목이 설정되지 않음" / "An error in the Live Event Management Platform service settings…"

위에서 설명한 비즈 앱 / 동의항목 오류입니다. 앱이 카카오계정(이메일)을 요청했지만 동의항목에서 활성화되지 않은 상태입니다. 비즈 앱으로 전환한 뒤 이메일 동의항목을 활성화하거나(경로 A 또는 B), 요청 scope에서 이메일을 제거해야 합니다. 단, DontCode는 이메일이 필수이므로 올바른 해결책은 비즈 앱 전환을 완료하는 것입니다.

리다이렉트 시 KOE006 / redirect_uri_mismatch

Kakao Developers에 등록한 리다이렉트 URL과 배포된 앱이 보낸 URL이 정확히 일치하지 않을 때 발생합니다. 끝의 슬래시, 프로토콜(http/https), 호스트를 다시 확인하세요. 카카오는 등록된 URI가 한 글자도 다르지 않게 일치해야 합니다. DontCode 프로젝트의 인증된 각 도메인마다 별도의 리다이렉트 URL이 있으니 모두 등록하세요.

비즈 앱으로 전환했는데 카카오계정(이메일)이 여전히 비활성으로 표시됨

카카오 로그인 → 동의항목으로 이동해 카카오계정(이메일)을 명시적으로 필수 동의 또는 선택 동의로 설정해야 합니다. 비즈 앱 전환은 옵션을 잠금 해제할 뿐 자동 활성화하지 않습니다. 처음 활성화할 때는 동의 목적도 입력해야 합니다.

사용자가 로그인했는데 DontCode에 이메일이 kakao:1234@oauth.local로 표시됨

카카오가 실제 이메일을 반환하지 않을 때 DontCode가 사용하는 임의 이메일입니다. account_email이 선택 동의이고 사용자가 거절했거나, 앱이 아직 비즈 앱이 아닐 때 발생합니다. 해결: 동의항목을 필수 동의로 변경해 사용자가 이메일을 공유해야만 로그인되도록 하세요.