구글 로그인은 Google Cloud의 OAuth 설정과 워드프레스 플러그인에 표시된 Callback URL이 정확히 일치해야 합니다.
로그인과 다른 Google API 권한은 구분하세요
회원가입·로그인만 필요하다면 일반적으로 openid, email, profile 범위면 충분합니다. Drive·Calendar 같은 추가 권한은 실제 기능이 있을 때만 요청하세요.
1. Google Cloud 프로젝트 준비
- Google Cloud Console에서 실제 서비스 사업자가 관리할 프로젝트를 새로 만들거나 선택합니다.
- Google Auth Platform에서 Branding 또는 OAuth 동의 화면 설정을 엽니다.
- 앱 이름, 사용자 지원 이메일과 개발자 연락처를 실제 운영 정보로 입력합니다.
2. 앱 정보와 공개 주소 등록
- 서비스 홈페이지 URL
- 개인정보처리방침 URL
- 필요한 경우 이용약관 URL
- 실제로 소유하거나 사용 권한이 있는 승인된 도메인
운영 앱은 홈페이지와 개인정보처리방침을 외부에서 열 수 있어야 합니다. 승인된 도메인의 소유권 확인이 필요하면 Google Search Console에서 먼저 인증합니다.
3. OAuth 웹 클라이언트 만들기
- Clients에서 새 클라이언트를 만들고 애플리케이션 유형을 웹 애플리케이션으로 선택합니다.
- 플러그인이 JavaScript 원본 주소를 요구하면 승인된 JavaScript 원본에
https://example.com처럼 도메인까지만 입력합니다. - 승인된 리디렉션 URI에는 워드프레스 소셜 로그인 설정에 표시된 Callback URL 전체를 입력합니다.
- 생성된 Client ID와 Client Secret을 워드프레스 관리자 설정에 저장합니다.
승인된 JavaScript 원본 예시: https://example.com
Redirect URI 예시: https://example.com/wp-login.php?social=callback&provider=google
예시 URL을 그대로 쓰지 마세요
실제 플러그인 설정 화면의 Callback URL을 복사해야 합니다. 스킴, 도메인, 포트, 경로와 마지막 슬래시가 다르면 redirect_uri_mismatch 오류가 발생할 수 있습니다.
4. 대상 사용자와 테스트 계정 설정
- 조직 내부에서만 쓸 서비스인지 외부 고객도 쓸 서비스인지 대상 사용자를 확인합니다.
- 테스트 상태라면 시험할 Google 계정을 테스트 사용자로 추가합니다.
- 일반 고객에게 공개하기 전 앱 브랜딩, 개인정보처리방침, 요청 권한과 검증 필요 여부를 확인합니다.
5. 운영 전 시험
- 로그아웃·시크릿 창에서 신규 회원 가입
- 같은 이메일의 기존 회원과 중복 계정 처리
- 사용자가 동의를 취소했을 때 안전한 복귀
- 모바일과 PC에서 로그인 후 원래 페이지로 이동
- Client Secret이 HTML·화면 캡처·공개 저장소에 노출되지 않는지 확인
자주 발생하는 오류
| 증상 | 확인할 항목 |
|---|---|
| redirect_uri_mismatch | 승인된 리디렉션 URI와 플러그인 Callback URL을 한 글자씩 비교 |
| origin_mismatch | 승인된 JavaScript 원본의 HTTPS, 도메인과 포트 확인 |
| 앱 접근 차단 | 대상 사용자, 테스트 사용자, 앱 게시 상태와 요청 범위 확인 |
| 이메일을 받지 못함 | openid email profile 범위와 플러그인 회원 매핑 설정 확인 |
공식 문서: Google OpenID Connect 설정 · 웹 Client ID 만들기 · 브랜드 검증 안내