이 문서는 Simple Easy Social Login (SESLP) 플러그인에서 각 소셜 로그인 공급자(Google, Facebook, LinkedIn, Naver, Kakao, Line)를 설정하는 방법을 안내합니다.

모든 로그인은 OAuth 2.0 또는 OpenID Connect(OIDC) 표준에 기반하며,
각 플랫폼의 콘솔에서 발급받은 Client ID / Secret을 입력해야 합니다.


🔧 공통 설정 가이드

1) Redirect URI 규칙:

https://{도메인}/?social_login={provider}

예:

2) HTTPS 필수

대부분의 공급자는 HTTPS가 필요하며, http:// 리디렉트는 거부됩니다.

3) 정확한 일치

Redirect URI는 콘솔에 등록된 값과 100% 일치해야 합니다
(프로토콜, 서브도메인, 경로, 쿼리 문자열까지 포함).

4) 이메일 비공개 사용자 처리

일부 공급자는 사용자가 이메일 제공을 거부할 수 있습니다. 이 경우 플러그인은 내부적으로 고유 ID 기반 사용자 연결을 지원합니다.

5) 로그 확인 경로

🐞 디버그 로그 및 문제 해결

SESLP는 OAuth 및 소셜 로그인 문제를 진단하는 데 도움이 되는 전용 디버그 로그 파일을 제공합니다.

SESLP 디버그 로그 읽는 방법

로그 파일 위치

  • /wp-content/SESLP-debug.log (SESLP 디버그 로그)
  • /wp-content/debug.log (WP_DEBUG_LOG = true)

로그 형식

[YYYY-MM-DD HH:MM:SS Z] [LEVEL] Message {"key":"value",...}
  • Z: UTC 또는 워드프레스 로컬 시간대 (예: KST) — SESLP 설정에서 선택 가능
  • 개인정보 보호: 이메일 / 토큰 / 시크릿 값은 자동으로 마스킹 처리됨 (예: r********@g****.com)

OAuth 흐름 로그 (일반적)

1) OAuth 시작

[DEBUG] State created {"provider":"google","state":"906****23","ttl":"10min"}

의미: CSRF 보호를 위한 state 토큰이 생성되었습니다. ttl10분간 유효합니다.

2) 콜백 진입

[DEBUG] Auth route triggered {"provider":"google","has_code":1}

의미: 콜백 라우트에 진입했습니다. has_code:1 → OAuth code 값을 수신했습니다.

3) State 검증

성공:

[DEBUG] State validated {"provider":"google","state":"906****23"}

실패:

[WARNING] State validation failed: not found/expired {"provider":"google","state":"906****23"}

4) 토큰 교환

[DEBUG] Token response (google) {"has_access_token":1}

의미: 액세스 토큰을 정상적으로 획득했습니다.

실패:

[ERROR] Token request failed (google) {"error":"..."}

5) 사용자 정보 요청

[ERROR] Userinfo request failed (google)
[WARNING] Invalid userinfo (google)

6) 사용자 연결 (Linker)

[DEBUG] Linker: signing in user {"user_id":45,"provider":"google","created":0}
[INFO]  Login success (google) {"user_id":45,"email":"r********@g****.com"}

7) 리디렉션

[DEBUG] Redirect decision {"mode":"profile","user_id":45,"url":"https://example.com/wp-admin/profile.php"}

빠른 참조 테이블

로그 메시지 (요약) 원인 추정 조치 방법
State validation failed 타임아웃, 탭 전환, 중복 요청 빠르게 재시도, 시크릿/프라이빗 모드 사용
Token request failed Client ID/Secret/Redirect 오류, 요청 차단 개발자 콘솔, 방화벽, 서버 시간 확인
Userinfo invalid 스코프 누락 또는 이메일 비공개 email, profile 스코프 추가, 사용자 동의
User create failed 계정 충돌 또는 워드프레스 제한 기존 사용자, 멀티사이트 규칙 확인
Redirect missing 코드 내 조기 return 콜백 이후 Redirect 클래스 실행 여부 확인

버그 리포트에 포함하면 좋은 정보

  • 관련 로그 라인 (마스킹된 상태)
  • 사용한 Provider (Google / Naver 등)
  • 리디렉션 모드 / 커스텀 URL
  • 디버그 로그 활성화 상태
  • 워드프레스 환경 (단일 사이트, 멀티사이트, 캐시 플러그인)

🌍 Provider별 설정 가이드

아래의 각 공급자를 확장하고 해당 공급자를 위해 준비한 한국어 가이드 콘텐츠를 확인하세요.


Google (구글)
  • 권장 스코프: openid email profile
  • Redirect URI 규칙: https://{도메인}/?social_login=google

1) 준비 사항 (필수 체크리스트)

  • HTTPS 권장/사실상 필수 (로컬은 신뢰된 개발용 인증서 사용)
  • Redirect URI는 콘솔에 등록한 값과 100% 일치해야 합니다
    예) https://example.com/?social_login=google
  • 테스트 모드에서는 테스트 사용자만 로그인 가능 (최대 100명)
  • 앱 도메인(Authorized domains) 등록 및 소유권 검증이 필요할 수 있음

2) 프로젝트 / 동의 화면 설정

(1) Google Cloud Console 접속

https://console.cloud.google.com/apis/credentials

(2) 프로젝트 선택 → 새 프로젝트 생성

(3) API 및 서비스 → OAuth 동의 화면

(4) 사용자 유형: 외부(External)

(5) 앱 정보 입력

  • 앱 이름
  • 사용자 지원 이메일
  • (선택) 로고

(6) 앱 도메인 설정

  • 홈페이지 / 개인정보처리방침 / 약관 URL 입력
  • Authorized domains에 루트 도메인 추가
  • 필요 시 Search Console로 도메인 검증

(7) 스코프 설정

  • 권장: openid, email, profile
  • 민감 스코프는 운영 전 검토 필요

(8) 테스트 사용자 추가

(9) 저장

기본 스코프만 사용하면 검토 없이 운영 가능한 경우가 많습니다.

3) OAuth 클라이언트 생성 (웹 애플리케이션)

(1) API 및 서비스 → 사용자 인증 정보

(2) OAuth 클라이언트 ID 생성

(3) 애플리케이션 유형: 웹 애플리케이션

(4) 이름 설정 (예: SESLP – Front)

(5) Redirect URI 추가

  • https://{도메인}/?social_login=google

(6) 생성 → Client ID / Secret 복사

JavaScript origin 설정은 일반적으로 필요 없습니다.

4) 워드프레스 설정

(1) WP 관리자 → SESLP 설정 → Google

(2) Client ID / Secret 입력 → 저장

(3) 프론트에서 로그인 테스트

5) 테스트 → 운영 전환

(1) OAuth 동의 화면 게시 상태 확인

(2) 운영 전환 시 체크

  • 앱 정보 / 도메인 / 정책 정확성
  • 불필요 스코프 제거
  • 필요 시 검토 요청

(3) 운영 전환 후 전체 사용자 로그인 가능

6) 자주 발생하는 오류

redirect_uri_mismatch

→ URI 불일치 (프로토콜/서브도메인/쿼리 포함)

access_denied / disallowed_useragent

→ 브라우저 환경 문제 → 일반 브라우저 사용

invalid_client

→ Client ID/Secret 오류

email 없음

→ email 스코프 또는 사용자 설정 문제

로그 확인:

  • wp-content/SESLP-debug.log
  • wp-content/debug.log

7) 요약 체크리스트

  • OAuth 동의 화면 설정 완료
  • 웹 애플리케이션 클라이언트 생성
  • Redirect URI 등록
  • SESLP 설정 입력 및 테스트
  • 운영 전환 준비 완료

Facebook (페이스북)
  • Redirect URI: https://{도메인}/?social_login=facebook
  • 요청 권한(권장): public_profile, email
  • Facebook은 openid를 사용하지 않습니다.

1) 앱 생성 및 제품 추가

(1) Meta for Developers 접속 → 로그인

https://developers.facebook.com/

(2) Create App → 일반(Consumer 등) 유형 선택 → 앱 생성

(3) 왼쪽 Products에서 Facebook Login 추가

(4) Settings(설정) 진입 → 아래 항목 점검

  • Client OAuth Login: ON
  • Web OAuth Login: ON
  • Valid OAuth Redirect URIs:
    • https://{도메인}/?social_login=facebook
  • (선택) Enforce HTTPS: 기본 권장

2) 앱 기본 설정 (App Settings → Basic)

  • App Domains: example.com
  • Privacy Policy URL: 공개 접근 가능한 정책 페이지
  • Terms of Service URL: 공개 접근 가능한 약관 페이지
  • User Data Deletion: 삭제 지침 URL 또는 엔드포인트 제공
  • Category / App Icon: 설정 후 Save

3) 스코프(권한) 및 App Review

  • 기본 권한: public_profile
  • 선택 권한: email
  • email은 대부분 검수 없이 사용 가능 (예외 존재)
  • 고급 권한은 App Review / Business Verification 필요

4) 모드 전환 (개발 → 운영)

앱 설정에서 Development → Live로 전환

5) Live 전환 전 체크리스트

  • Privacy Policy / Terms / Data Deletion URL 준비
  • Redirect URI 정확 입력
  • 불필요 권한 제거
  • 필요 시 App Review 완료

6) 워드프레스 설정 (SESLP)

(1) WP 관리자 → SESLP 설정 → Facebook

(2) App ID / App Secret 입력 → 저장

(3) 프론트에서 로그인 테스트

7) 트러블슈팅

Can't Load URL / redirect_uri 에러

→ Redirect URI가 콘솔 값과 정확히 일치하는지 확인

email null

→ 이메일 비공개 또는 미등록 → ID 기반 연결 필요

권한 오류

→ 고급 권한 사용 시 App Review 필요

Live 전환 불가

→ 정책/약관/데이터 삭제 URL 누락 또는 비공개


LinkedIn (링크드인)
  • Redirect URI: https://{도메인}/?social_login=linkedin
  • 필수 설정: OpenID Connect(OIDC) 활성화
  • 권장 스코프: openid, profile, email
  • LinkedIn은 기존 r_liteprofile, r_emailaddress 스코프를 점진적으로 폐기하고 있으며, 신규 앱은 반드시 OIDC 표준 스코프를 사용해야 합니다.

1) 애플리케이션 생성

(1) LinkedIn Developers 콘솔 접속

https://www.linkedin.com/developers/apps

(2) LinkedIn 계정으로 로그인

(3) Create app 클릭

(4) 필수 항목 입력

  • App name: 서비스명 (예: MySite LinkedIn Login)
  • LinkedIn Page: 회사 페이지 (없으면 “None” 선택)
  • App logo: 100×100 이상 PNG/JPG
  • Privacy Policy URL: 공개 접근 가능한 개인정보처리방침
  • Business Email: 검증 가능한 이메일

(5) Create app 클릭 → 앱 생성 완료

Development Mode가 기본 적용되어 openid, profile, email 기반 로그인 테스트를 즉시 진행할 수 있습니다.

2) OpenID Connect(OIDC) 활성화

(1) 생성된 앱 페이지에서 Products 탭으로 이동

(2) Sign In with LinkedIn using OpenID Connect 항목 찾기

(3) Add product 클릭 → 승인 후 OIDC 사용 가능

(4) Auth 탭에서 OIDC 관련 설정 확인 가능

OIDC 스코프 사용 필수

  • openid → ID 토큰 발급
  • profile → 이름, 사진, 헤드라인 등
  • email → 이메일 주소

3) OAuth 2.0 설정 (Auth 탭)

(1) Auth → OAuth 2.0 settings 이동

(2) Redirect URLs 섹션에 아래 URI 추가

https://{도메인}/?social_login=linkedin

(3) 정확한 일치 확인 (프로토콜, 서브도메인, 슬래시, 쿼리 포함)

(4) 여러 환경 사용 시 각각 등록

  • 로컬(Local): https://localhost:3000/?social_login=linkedin
  • 스테이징(Staging): https://staging.example.com/?social_login=linkedin
  • 운영(Production): https://example.com/?social_login=linkedin

(5) Save 클릭

4) Client ID / Client Secret 확인 및 입력

(1) Auth 탭 상단에서 확인

  • Client ID
  • Client Secret

(2) 워드프레스 관리자 → SESLP 설정 → LinkedIn

(3) 두 값 붙여넣기 → 저장

(4) 프론트엔드에서 LinkedIn 로그인 버튼으로 실제 테스트

보안 주의

  • Client Secret은 절대 노출하지 마세요.
  • 필요 시 Regenerate secret으로 재발급하세요.

5) 스코프(Scopes) 및 권한 설명

스코프 설명 비고
openid OpenID Connect 표준 ID 토큰 반환 필수
profile 이름, 사진, 헤드라인 등 프로필 정보 필수
email 이메일 주소 반환 필수

구형 스코프 (r_liteprofile, r_emailaddress)

2024년 이후 점진적 폐기 예정
→ 신규 앱은 사용 불가, 기존 앱도 OIDC 전환 권장

6) 트러블슈팅 및 유의사항

(1) redirect_uri_mismatch

→ 등록된 URI와 요청 URI가 조금이라도 다를 경우 발생
→ 프로토콜, 서브도메인, 슬래시, 쿼리까지 100% 일치 확인

(2) invalid_client

→ Client ID/Secret 오타 또는 앱 비활성 상태
→ 재확인 또는 Regenerate secret

(3) email NULL

→ 사용자 동의 거부 또는 email 스코프 누락
→ 동의 화면에서 이메일 사용 목적을 명확히 설명

(4) insufficient_scope

→ 요청 스코프가 앱에 승인되지 않음
→ OIDC 활성화 및 스코프 재확인

(5) OIDC not enabled

→ Products 탭에서 OpenID Connect를 추가하지 않음

로그 확인 경로:

  • /wp-content/SESLP-debug.log (SESLP 디버그 ON 시)
  • /wp-content/debug.log (WP_DEBUG = true)

7) 요약 체크리스트

  • 앱 생성 완료 (https://www.linkedin.com/developers/apps)
  • Sign In with LinkedIn using OpenID Connect 제품 추가
  • Redirect URI 정확히 등록 (https://{도메인}/?social_login=linkedin)
  • Client ID / Secret → SESLP 입력 및 저장
  • 스코프: openid profile email (구형 스코프 사용 금지)
  • HTTPS 환경에서 프론트엔드 로그인 테스트 완료

참고

  • SESLP는 OIDC 인증 흐름에 완벽 대응합니다.
  • 기존 OAuth 2.0 방식은 더 이상 지원되지 않습니다.
  • 신규 개발 시 반드시 OpenID Connect를 사용하세요.

Naver (네이버)
  • Redirect URI: https://{도메인}/?social_login=naver
  • 권장 스코프: 기본 프로필(name), 이메일(email)
  • 네이버는 네아로(Naver Login) API를 사용하며, HTTPS 필수

1) 애플리케이션 등록

(1) 네이버 개발자 센터 접속

https://developers.naver.com/apps/

(2) 네이버 계정으로 로그인

(3) Application → 애플리케이션 등록 클릭

(4) 필수 항목 입력

  • 애플리케이션 이름: 서비스명 (예: MySite Naver Login)
  • 사용 API: 네아로 (Naver Login)
  • 환경 추가 → 웹(Web)
    • 서비스 URL: https://example.com
    • Callback URL: https://example.com/?social_login=naver

(5) 약관 동의 후 등록 → 앱 생성 완료

주의

  • HTTPS 필수 → HTTP 등록 시 오류 발생
  • 서브도메인별 별도 등록 필요
    예: blog.example.comexample.com

2) Client ID / Client Secret 확인

(1) 내 애플리케이션 목록 이동

(2) 앱 선택 → Client ID / Client Secret 확인

(3) 두 값 복사

3) 워드프레스 설정 (SESLP)

(1) WP 관리자 → SESLP 설정 → Naver

(2) Client ID / Secret 입력

(3) Redirect URI 일치 확인

https://{도메인}/?social_login=naver

(4) 저장 후 로그인 테스트

4) 권한 및 정보 제공 설정

정보 스코프 비고
이름 name 기본 제공
이메일 email 기본 제공
성별, 생일 별도 요청 검수 필요
  • 사용자는 동의 화면에서 정보 제공을 선택할 수 있습니다.
  • 이메일 거부 시 email = null → ID 기반 계정 연결 필요
  • 민감 정보는 앱 검수 후 사용 가능

5) 트러블슈팅 및 유의사항

Redirect URI mismatch

→ 등록값과 요청값 불일치

HTTPS 오류

→ HTTP 사용 불가

서브도메인 문제

→ 각각 별도 등록 필요

email NULL

→ 사용자 거부 → ID 기반 처리

앱 검수 필요

→ 추가 정보 요청 시 필요

로그 확인:

  • /wp-content/SESLP-debug.log
  • /wp-content/debug.log

6) 요약 체크리스트

  • 네이버 앱 등록 완료
  • Callback URL 등록
  • HTTPS 사용
  • 서브도메인 등록 (필요 시)
  • Client ID / Secret 입력
  • 이메일 동작 테스트
  • 프론트 로그인 테스트 완료

참고

  • SESLP는 네아로(Naver Login) 인증 흐름을 완벽 지원합니다.
  • 기본 로그인은 검수 없이 즉시 사용 가능합니다.

Kakao (카카오)
  • Redirect URI: https://{도메인}/?social_login=kakao
  • 권장 스코프: profile_nickname, profile_image, account_email
  • account_email은 실명/사업자 인증 후 사용 가능
  • HTTPS 필수, Client Secret 활성화 필수

1) 애플리케이션 생성

(1) Kakao Developers

https://developers.kakao.com/

(2) 로그인 → 내 애플리케이션 → 추가

  • 앱 이름
  • 회사명
  • 카테고리
  • 약관 동의

(4) 저장

2) 카카오 로그인 활성화

  • 제품 설정 → 카카오 로그인
  • 활성화 ON
  • Redirect URI 등록

https://{도메인}/?social_login=kakao

3) 동의 항목 설정

스코프 설명 비고
profile_nickname 닉네임 기본
profile_image 프로필 이미지 기본
account_email 이메일 인증 필요
  • 민감 정보는 인증 후 사용 가능
  • 동의 목적 명확히 작성

4) 플랫폼 도메인 등록

앱 설정 → 플랫폼

https://{도메인}

5) Client Secret 생성

  • 보안 → Client Secret ON
  • Secret 생성
  • 활성화

활성화 안 하면 invalid_client 오류 발생

6) REST API 키

REST API Key → Client ID

7) 워드프레스 설정

SESLP → Kakao

Client ID / Secret 입력 → 저장

8) 트러블슈팅

redirect_uri_mismatch

→ URI 불일치

invalid_client

→ Secret 미활성화

email NULL

→ 사용자 거부

HTTPS 필요

9) 체크리스트

  • 로그인 활성화
  • Redirect URI 등록
  • 도메인 등록
  • Secret 활성화
  • 테스트 완료

SESLP는 Kakao OAuth + Client Secret 흐름 완벽 지원


LINE (라인)
  • Redirect URI: https://{도메인}/?social_login=line
  • 필수: OpenID Connect + 이메일 승인
  • 스코프: openid, profile, email
  • HTTPS 필수

1) 채널 생성

LINE Developers

  • 비즈니스 계정 로그인
  • Provider 생성
  • LINE Login 채널 생성

2) 이메일 권한 신청

  • OpenID Connect 메뉴
  • Email permission Apply
  • 정책 URL 제출

→ 승인 후 사용 가능

3) Callback URL

https://{도메인}/?social_login=line

  • 정확히 일치 필요
  • HTTPS 필수

4) Publish

  • Development → 테스트용
  • Published → 실제 서비스

5) Channel ID / Secret

→ SESLP에 입력

6) 트러블슈팅

redirect_uri_mismatch

→ URI 불일치

invalid_client

→ Secret 오류

email NULL

→ 승인 안 됨

7) 체크리스트

  • 채널 생성
  • 이메일 승인
  • Callback 등록
  • Published 상태
  • 테스트 완료

SESLP는 LINE OpenID Connect 완벽 지원