Dieses Dokument erklÀrt, wie Sie jeden Social-Login-Anbieter (Google, Facebook, LinkedIn, Naver, Kakao, LINE) im Plugin Simple Easy Social Login (SESLP) konfigurieren.
Alle Anmeldungen basieren auf OAuth 2.0 / OpenID Connect (OIDC).
In der Konsole jedes Anbieters erstellen Sie eine App (Client) und tragen Client ID / Client Secret in SESLP ein.
https://{your-domain}/?social_login={provider}
Beispiele:
https://example.com/?social_login=googlehttps://example.com/?social_login=facebookhttps://example.com/?social_login=linkedinhttps://example.com/?social_login=naverhttps://example.com/?social_login=kakaohttps://example.com/?social_login=lineDie meisten Anbieter verlangen HTTPS und lehnen http:// -Weiterleitungen ab.
Die in der Konsole eingetragene Redirect-URI muss zu 100% mit der von SESLP gesendeten URI ĂŒbereinstimmen (protocol, subdomain, path, trailing slash, and query string).
Einige Anbieter erlauben es Nutzern, die Weitergabe der E-Mail zu verweigern. SESLP kann dann stabile Anbieter-IDs zur KontoverknĂŒpfung verwenden.
/wp-content/SESLP-debug.log/wp-content/debug.log (WP_DEBUG_LOG = true)/wp-content/SESLP-debug.log (SESLP debug log)/wp-content/debug.log (WP_DEBUG_LOG = true)[YYYY-MM-DD HH:MM:SS Z] [LEVEL] Message {"key":"value",...}
Z: UTC oder WordPress-Lokalzeit (z. B. KST) â in den SESLP-Einstellungen auswĂ€hlbarr********@g****.com)
1) OAuth-Start
[DEBUG] State created {"provider":"google","state":"906****23","ttl":"10min"}
Bedeutung: CSRF-Schutz-State-Token erstellt. ttl ist 10 Minuten gĂŒltig.
2) Callback ausgelöst
[DEBUG] Auth route triggered {"provider":"google","has_code":1}
Bedeutung: Callback aufgerufen. has_code:1 â OAuth code empfangen.
3) State-Validierung
Erfolg:
[DEBUG] State validated {"provider":"google","state":"906****23"}
Fehlschlag:
[WARNING] State validation failed: not found/expired {"provider":"google","state":"906****23"}
4) Token-Austausch
[DEBUG] Token response (google) {"has_access_token":1}
Bedeutung: Token erhalten.
Fehlschlag:
[ERROR] Token request failed (google) {"error":"..."}
5) Userinfo-Anfrage
[ERROR] Userinfo request failed (google)
[WARNING] Invalid userinfo (google)
6) BenutzerverknĂŒpfung (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) Weiterleitung (Redirect)
[DEBUG] Redirect decision {"mode":"profile","user_id":45,"url":"https://example.com/wp-admin/profile.php"}
| Log-Nachricht (kurz) | Wahrscheinliche Ursache | MaĂnahme |
|---|---|---|
| State validation failed | Timeout, Tab-Wechsel, doppelte Anfrage | Schnell erneut versuchen, privaten Modus nutzen |
| Token request failed | Falsche Client-ID/Secret/Redirect, Request blockiert | Dev-Konsole, Firewall, Serverzeit prĂŒfen |
| Userinfo invalid | Fehlender Scope oder E-Mail privat | email, profile Scope hinzufĂŒgen, Zustimmung |
| User create failed | Konto-Konflikt oder WordPress-EinschrĂ€nkung | Bestehende Benutzer, Multisite-Regeln prĂŒfen |
| Redirect missing | FrĂŒhzeitiger Return im Code | Sicherstellen, dass die Redirect-Klasse nach dem Callback lĂ€uft |
Klappen Sie unten den jeweiligen Anbieter auf und fĂŒgen Sie den vorbereiteten Leitfaden fĂŒr diesen Anbieter ein.
openid email profilehttps://{domain}/?social_login=google(1) HTTPS empfohlen / erforderlich (vertrauenswĂŒrdiges Zertifikat fĂŒr lokale Umgebungen).
(2) Die Redirect-URI muss zu 100 % mit dem in der Konsole registrierten Wert ĂŒbereinstimmen. Beispiel) https://example.com/?social_login=google
(3) Im Testmodus können nur Testbenutzer sich anmelden (max. 100).
(4) Bei Verwendung von Startseite-/Datenschutz-/Nutzungsbedingungs-URLs: Authorized domains registrieren und Domaininhaberschaft prĂŒfen.
(1) Ăffnen Sie die Google Cloud Console.
https://console.cloud.google.com/apis/credentials
(2) Projekt auswĂ€hlen oder â neues Projekt erstellen.
(3) Seitenleiste: APIs & Services â OAuth consent screen.
(4) Benutzertyp: meist External.
(5) App-Informationen: eingeben - Name, Support-E-Mail, (optional) Logo.
(6) App-Domain
(7) Scopes konfigurieren
openid, email, profile(8) Testbenutzer hinzufĂŒgen (E-Mail-Adressen, die sich im Testmodus anmelden dĂŒrfen).
(9) Speichern.
Hinweis: Wenn nur die grundlegenden Scopes (openid email profile) verwendet werden, ist der Betrieb (Veröffentlichung) hĂ€ufig ohne PrĂŒfung möglich.
(1) Seitenleiste: APIs & Services â Zugangsdaten.
(2) Oben: + Zugangsdaten erstellen â OAuth-Client-ID.
(3) Anwendungstyp: Webanwendung.
(4) Geben Sie einen eindeutigen Namen ein (z. B. SESLP â Front).
(5) Authorized redirect URIs hinzufĂŒgen
https://{domain}/?social_login=google(6) Klicken Sie auf Erstellen und kopieren Sie anschlieĂend die angezeigte Client ID / Client Secret.
(Optional) Authorized JavaScript Origins sind fĂŒr dieses Plugin, das den Code-Grant nutzt, in der Regel nicht erforderlich.
(1) WP-Admin â Reiter SESLP Settings â Google.
(2) Client ID / Client Secret einfĂŒgen â Speichern.
(3) Testen Sie die Anmeldung mit dem Google-Login-Button im Frontend der Website.
(1) PrĂŒfen Sie OAuth consent screen â Publishing status.
(2) Um vom Testmodus in die Produktion zu wechseln:
(3) Nach dem Wechsel in die Produktion können sich alle Google-Konten anmelden.
(1) redirect_uri_mismatch
â Tritt auf, wenn die in der Konsole registrierte Redirect-URI und die tatsĂ€chliche Anfrage-URI auch nur geringfĂŒgig voneinander abweichen (einschlieĂlich Protokoll, Subdomain, Slash und Query-String). Korrigieren Sie die Werte so, dass sie exakt ĂŒbereinstimmen.
(2) access_denied / disallowed_useragent
â EinschrĂ€nkungen der Browser-/In-App-Umgebung. Versuchen Sie es erneut in einem normalen Browser.
(3) invalid_client / unauthorized_client
â Tippfehler bei Client ID/Secret oder Statusproblem der App (gelöscht/deaktiviert). Zugangsdaten erneut ausstellen bzw. erneut prĂŒfen.
(4) E-Mail ist leer
â PrĂŒfen Sie, ob der Scope email enthalten ist, ob der Zustimmungsbildschirm korrekt angezeigt wird und welche Sichtbarkeits-/Sicherheitseinstellungen fĂŒr die E-Mail im Konto gesetzt sind. ErlĂ€utern Sie die Verwendung der E-Mail-Berechtigung im Zustimmungsbildschirm eindeutig.
Logs prĂŒfen:
wp-content/SESLP-debug.log (Plugin-Debug EIN)wp-content/debug.log (WP_DEBUG, WP_DEBUG_LOG = true)https://{domain}/?social_login=googlehttps://{domain}/?social_login=facebookpublic_profile, emailopenid.(1) Ăffnen Sie Meta for Developers â melden Sie sich an
https://developers.facebook.com/
(2) Klicken Sie auf Create App â wĂ€hlen Sie einen allgemeinen Typ (z. B. Consumer) â App erstellen
(3) FĂŒgen Sie in der linken Seitenleiste unter Products Facebook Login hinzu
(4) Gehen Sie zu Settings â prĂŒfen Sie die folgenden Punkte:
https://{domain}/?social_login=facebook hinzu(1) App Domains: example.com (die Domain der URL fĂŒr Richtlinien/Nutzungsbedingungen/Startseite der App)
(2) Privacy Policy URL: öffentlich zugÀngliche Datenschutzseite
(3) Terms of Service URL: öffentlich zugÀngliche Nutzungsbedingungen-Seite
(4) User Data Deletion: Geben Sie eine Richtlinien-URL oder einen Datenlösch-Endpunkt an
(5) Category / App Icon: passend einstellen und dann Save
(1) Die grundlegenden Berechtigungen fĂŒr den Standard-Login sind public_profile; die optionale E-Mail-Berechtigung ist email
(2) In den meisten FĂ€llen kann email ohne PrĂŒfung verwendet werden, es kann jedoch je nach Region/Konto Ausnahmen geben
(3) Erweiterte Berechtigungen wie fĂŒr Seiten/Werbung erfordern App Review und Business Verification
Wechseln Sie oben oder im Einstellungsbereich der App den App-Modus: Development â Live
(1) WP-Admin â SESLP Settings â Facebook
(2) App ID / App Secret eingeben â speichern
(3) Mit dem Facebook-Login-Button im Frontend testen
(1) Can't Load URL / redirect_uri-Fehler
â Stellen Sie sicher, dass genau dieselbe URI in Valid OAuth Redirect URIs registriert ist (einschlieĂlich Protokoll, Subdomain, Slash und Query-String)
(2) email null
â Der Benutzer hat bei Facebook keine E-Mail-Adresse hinterlegt oder sie ist privat. Bereiten Sie eine ID-basierte KontoverknĂŒpfungslogik vor und erlĂ€utern Sie die Verwendung der E-Mail-Berechtigung im Zustimmungsbildschirm eindeutig
(3) Berechtigungsbezogene Fehler
â Wenn der angeforderte Scope ĂŒber den grundlegenden Bereich hinausgeht, sind App Review/Business Verification erforderlich
(4) Wechsel auf Live nicht möglich
â Wenn die Richtlinien-/Nutzungsbedingungen-/Datenlösch-URL fehlt oder nicht öffentlich zugĂ€nglich ist. Sie mĂŒssen eine öffentliche URL angeben
https://{domain}/?social_login=linkedinopenid, profile, emailr_liteprofile, r_emailaddress) schrittweise ein.(1) Ăffnen Sie die LinkedIn Developers Console
â https://www.linkedin.com/developers/apps
(2) Melden Sie sich mit Ihrem LinkedIn-Konto an
(3) Klicken Sie auf Create app
(4) FĂŒllen Sie die erforderlichen Felder aus:
MySite LinkedIn Login(5) Klicken Sie auf Create app
Development Mode ist standardmĂ€Ăig aktiv â sofortiges Testen des Logins mit openid, profile, email ohne Veröffentlichung
(1) Wechseln Sie zum Reiter Products
(2) Suchen Sie Sign In with LinkedIn using OpenID Connect
(3) Klicken Sie auf Add product â wird sofort genehmigt
(4) OIDC-bezogene Einstellungen erscheinen im Reiter Auth
Erforderliche OIDC-Scopes
openid â ID-Tokenprofile â Name, Foto, Ăberschrift usw.email â E-Mail-Adresse(1) Navigieren Sie zu Auth â OAuth 2.0 settings
(2) FĂŒgen Sie unter Redirect URLs Folgendes hinzu:
â https://{domain}/?social_login=linkedin
(3) Exakte Ăbereinstimmung erforderlich (Protokoll, Subdomain, Slash, Query)
(4) Falls nötig, mehrere Umgebungen registrieren:
https://localhost:3000/?social_login=linkedinhttps://staging.example.com/?social_login=linkedinhttps://example.com/?social_login=linkedin(5) Klicken Sie auf Save
(1) Im Reiter Auth finden Sie:
(2) WordPress-Admin â SESLP Settings â LinkedIn
(3) Beide Werte einfĂŒgen â Save
(4) Mit dem LinkedIn-Login-Button im Frontend testen
Sicherheit:
| Scope | Beschreibung | Hinweis |
|---|---|---|
openid |
Gibt ein standardisiertes OIDC-ID-Token zurĂŒck | Erforderlich |
profile |
Name, Foto, Ăberschrift usw. | Erforderlich |
email |
E-Mail-Adresse | Erforderlich |
Alte Scopes (r_liteprofile, r_emailaddress)
(1) redirect_uri_mismatch
â URIs unterscheiden sich auch nur geringfĂŒgig â 100%ige Ăbereinstimmung sicherstellen
(2) invalid_client
â Falsche ID/Secret oder App inaktiv â erneut prĂŒfen oder neu generieren
(3) email NULL
â Benutzer hat abgelehnt oder der Scope email fehlt â Verwendung im Zustimmungsbildschirm erlĂ€utern
(4) insufficient_scope
â Angeforderter Scope ist nicht freigegeben â prĂŒfen, ob OIDC aktiviert ist
(5) OIDC nicht aktiviert
â Sign In with LinkedIn using OpenID Connect fehlt unter Products
Logs:
/wp-content/SESLP-debug.log/wp-content/debug.logopenid profile email (keine alten Scopes)Hinweis:
https://{domain}/?social_login=navername), E-Mail (email)(1) Ăffnen Sie das Naver Developer Center
â https://developers.naver.com/apps/
(2) Melden Sie sich mit Ihrem Naver-Konto an
(3) Klicken Sie auf Application â Register Application
(4) FĂŒllen Sie die erforderlichen Felder aus:
MySite Naver LoginNaver Login (ë€ìëĄ) auswĂ€hlenhttps://example.comhttps://example.com/?social_login=naver(5) Den Bedingungen zustimmen â Register
Hinweis:
(1) Gehen Sie zu My Applications
(2) Klicken Sie auf die App â kopieren Sie Client ID und Client Secret
(1) WP-Admin â SESLP Settings â Naver
(2) Client ID / Client Secret einfĂŒgen
(3) Stellen Sie sicher, dass die Redirect-URI exakt ĂŒbereinstimmt: https://{domain}/?social_login=naver
(4) Save â Mit dem Naver-Login-Button im Frontend testen
| Daten | Scope | Hinweis |
|---|---|---|
| Name | name |
Standard |
email |
Standard | |
| Geschlecht, Geburtstag | Separat | PrĂŒfung erforderlich |
email = null â ID-basierte VerknĂŒpfung verwenden(1) Redirect-URI-Mismatch
â Schon kleine Unterschiede fĂŒhren zum Fehler â 100 % Ăbereinstimmung sicherstellen
(2) HTTP-Fehler
â Es muss HTTPS verwendet werden
(3) Subdomain-Fehler
â Jede Subdomain muss separat registriert werden
(4) email NULL
â Benutzer hat abgelehnt oder die E-Mail ist privat â ID-basierte Logik vorbereiten
(5) PrĂŒfung erforderlich
â Basis-Login: keine PrĂŒfung
â ZusĂ€tzliche Daten: PrĂŒfung erforderlich
Logs:
/wp-content/SESLP-debug.log/wp-content/debug.logHinweis:
name, email) ist ohne PrĂŒfung verfĂŒgbar.https://{domain}/?social_login=kakaoprofile_nickname, profile_image, account_emailaccount_email ist erst nach IdentitĂ€ts- oder Unternehmensverifizierung verfĂŒgbar(1) Ăffnen Sie Kakao Developers
â https://developers.kakao.com/
(2) Anmelden â My Applications â Add New App
(3) Eingeben:
(4) Save
(1) Product Settings > Kakao Login
(2) Enable Kakao Login auf ON setzen
(3) Redirect-URI registrieren
https://{domain}/?social_login=kakao(4) Die Domain muss mit der Platform site domain ĂŒbereinstimmen
(1) Consent Items
(2) HinzufĂŒgen und konfigurieren:
| Scope | Beschreibung | Zustimmungsart | Hinweis |
|---|---|---|---|
profile_nickname |
Spitzname | Erforderlich/Optional | Basis |
profile_image |
Profilbild | Erforderlich/Optional | Basis |
account_email |
Optional | Verifizierung erforderlich |
(3) Geben Sie den Zweck fĂŒr jeden Punkt klar an
(4) Save
Hinweis: Sensible Scopes erfordern eine Verifizierung
(1) App Settings > Platform
(2) Register Web Platform
(3) Site Domain: https://{domain}
(4) Save â muss mit der Redirect-URI-Domain ĂŒbereinstimmen
(1) Product Settings > Security
(2) Use Client Secret â ON
(3) Generate Secret â Wert kopieren
(4) Activation Status â Active
(5) Save
Wichtig: Nach der Generierung muss das Secret aktiviert werden
(1) App Keys
(2) REST API Key kopieren â als Client ID verwenden
(1) WP-Admin â SESLP Settings â Kakao
(2) Client ID = REST API Key
Client Secret = generiertes Secret
(3) Save
(4) Mit dem Kakao-Login-Button testen
(1) redirect_uri_mismatch â 100%ige Ăbereinstimmung erforderlich
(2) invalid_client â Secret nicht aktiviert oder Tippfehler
(3) email empty â Benutzer hat abgelehnt oder ist nicht verifiziert
(4) Domain mismatch â Platform vs Redirect URI
(5) HTTP forbidden â nur HTTPS
Logs:
/wp-content/SESLP-debug.log/wp-content/debug.loghttps://{domain}/?social_login=lineopenid, profile, email(1) Ăffnen Sie die LINE Developers Console
â https://developers.line.biz/console/
(2) Melden Sie sich mit einem LINE Business Account an (persönliche Konten sind nicht zulÀssig)
(3) Klicken Sie auf Create a new provider â geben Sie einen Namen ein â Create
(4) Ăffnen Sie unter dem erstellten Provider den Reiter Channels
(5) WĂ€hlen Sie Create a LINE Login channel
(6) Konfigurieren Sie Folgendes:
LINE LoginSouth Korea, Japan)(7) Den Bedingungen zustimmen â Create
(1) Ăffnen Sie im linken MenĂŒ OpenID Connect
(2) Klicken Sie neben Email address permission auf Apply
(3) FĂŒllen Sie den Antrag aus:
(4) Der Scope email funktioniert erst nach der Genehmigung
â Die Genehmigung dauert in der Regel 1â3 Werktage
(1) Ăffnen Sie im linken MenĂŒ LINE Login
(2) Geben Sie die Callback URL ein:
â https://{domain}/?social_login=line
(3) Exakte Ăbereinstimmung ist erforderlich:
https:// (HTTP ist nicht erlaubt)(4) Klicken Sie auf Save
(5) Ăndern Sie den Channel-Status auf Published
(1) Oben auf der Channel-Seite oder unter Basic settings
(2) Channel ID â SESLP Client ID
Channel Secret â SESLP Client Secret
(1) WP-Admin â SESLP Settings â LINE
(2) Client ID â Channel ID
Client Secret â Channel Secret
(3) Save
(4) Testen Sie mit dem LINE-Login-Button im Frontend
(1) redirect_uri_mismatch â Schon kleine Unterschiede verursachen einen Fehler â 100 % Ăbereinstimmung sicherstellen
(2) invalid_client â Tippfehler im Secret oder der Channel ist nicht veröffentlicht
(3) email NULL â Die E-Mail-Berechtigung wurde nicht genehmigt oder der Benutzer hat abgelehnt
(4) HTTP ist nicht erlaubt â HTTPS ist erforderlich (auch https://localhost fĂŒr lokale Tests ist möglich)
(5) EinschrĂ€nkung im Development-Modus â Nur Testkonten können sich anmelden
Logs:
/wp-content/SESLP-debug.log/wp-content/debug.logHinweis: SESLP unterstĂŒtzt vollstĂ€ndig