Social login
Social Login ermöglicht Kunden die Registrierung und Anmeldung über ihr Google- oder Facebook-Konto. Es entfällt die Notwendigkeit, ein Passwort zu erstellen und sich zu merken, was den Kaufprozess beschleunigt und die Anzahl der Registrierungen erhöht.
Modul aktivieren
Section titled “Modul aktivieren”Gehen Sie zu WooCommerce > Polski > Storefront-Module und aktivieren Sie Social login. Konfigurieren Sie anschließend die API-Schlüssel für die ausgewählten Anbieter (Google, Facebook oder beide).
Funktionen
Section titled “Funktionen”- Anmeldung und Registrierung über Google OAuth2
- Anmeldung und Registrierung über Facebook OAuth2
- Buttons auf den Seiten Mein Konto, Checkout und WordPress-Login
- Automatische Registrierung mit der Rolle “Kunde”
- Kontoverknüpfung per E-Mail-Adresse oder Anbieter-Kennung
- Sichere Verarbeitung von OAuth2-Tokens
- Keine Speicherung von Passwörtern für Nutzer, die sich über Social Login anmelden
Einstellungen
Section titled “Einstellungen”Konfiguration unter WooCommerce > Polski > Storefront-Module > Social login.
| Einstellung | Standard | Beschreibung |
|---|---|---|
google_enabled | false | Anmeldung über Google aktivieren |
google_client_id | - | Client ID aus der Google Cloud Console |
google_client_secret | - | Client Secret aus der Google Cloud Console |
facebook_enabled | false | Anmeldung über Facebook aktivieren |
facebook_app_id | - | App ID aus Meta for Developers |
facebook_app_secret | - | App Secret aus Meta for Developers |
auto_register | true | Bei der ersten Anmeldung automatisch ein Konto erstellen |
Datenbankoption: polski_social_login.
Anbieterkonfiguration
Section titled “Anbieterkonfiguration”- Gehen Sie zur Google Cloud Console
- Erstellen Sie ein neues Projekt oder wählen Sie ein bestehendes aus
- Gehen Sie zu APIs & Services > Credentials
- Klicken Sie auf Create Credentials > OAuth 2.0 Client ID
- Anwendungstyp: Web application
- Fügen Sie eine autorisierte Weiterleitungs-URI hinzu:
https://yourstore.com/?polski_social_login=google_callback - Kopieren Sie die Client ID und das Client Secret in die Moduleinstellungen
- Stellen Sie sicher, dass die Google+ API oder People API im Projekt aktiviert ist
- Gehen Sie zu Meta for Developers
- Erstellen Sie eine neue App vom Typ Consumer
- Gehen Sie in den App-Einstellungen zu Facebook Login > Settings
- Fügen Sie eine gültige OAuth-Weiterleitungs-URI hinzu:
https://yourstore.com/?polski_social_login=facebook_callback - Kopieren Sie die App ID und das App Secret in die Moduleinstellungen
- Setzen Sie die App in den Live-Modus (nicht Sandbox)
Kontoverknüpfung
Section titled “Kontoverknüpfung”Das Modul verknüpft Benutzerkonten auf folgende Weise:
- Per E-Mail-Adresse - wenn bereits ein WordPress-Konto mit derselben E-Mail-Adresse existiert, verknüpft das Modul es automatisch (der Nutzer meldet sich am bestehenden Konto an)
- Per Anbieter-Kennung - wenn sich der Nutzer zuvor bereits mit demselben Anbieter angemeldet hat, erkennt das Modul ihn anhand der gespeicherten Kennung
Die Anbieterdaten werden in usermeta gespeichert:
_polski_social_google_id- Google-Kennung_polski_social_facebook_id- Facebook-Kennung
Technische Details
Section titled “Technische Details”OAuth2-Ablauf
Section titled “OAuth2-Ablauf”- Der Kunde klickt auf den Button “Mit Google/Facebook anmelden”
- Weiterleitung zur Autorisierungsseite des Anbieters
- Der Kunde stimmt der Weitergabe seiner Daten zu
- Der Anbieter leitet mit einem Autorisierungscode zurück zum Shop
- Das Modul tauscht den Code gegen ein Access-Token (serverseitig)
- Das Modul ruft das Nutzerprofil ab (Name, E-Mail, Kennung)
- Der Nutzer wird angemeldet oder registriert
Sicherheit
Section titled “Sicherheit”- OAuth2-Tokens werden serverseitig ausgetauscht (niemals im Browser)
- Der Parameter
stateschützt vor CSRF-Angriffen - Der WordPress-Nonce wird beim Starten der Anmeldung validiert
- Das Client Secret wird niemals im Front-End-Code preisgegeben
// Rolle eines neu registrierten Nutzers ändernadd_filter('polski/social_login/default_role', function (): string { return 'subscriber'; // default: 'customer'});
// Eine Aktion nach der Registrierung über Social Login ausführenadd_action('polski/social_login/user_registered', function (int $user_id, string $provider): void { // Eine Willkommens-E-Mail senden wp_mail( get_userdata($user_id)->user_email, 'Willkommen im Shop!', 'Ihr Konto wurde erstellt.' );}, 10, 2);
// Die Profildaten vor dem Speichern filternadd_filter('polski/social_login/profile_data', function (array $data, string $provider): array { return $data;}, 10, 2);
// Automatische Registrierung für einen bestimmten Anbieter deaktivierenadd_filter('polski/social_login/auto_register', function (bool $auto, string $provider): bool { if ($provider === 'facebook') { return false; } return $auto;}, 10, 2);CSS-Klassen
Section titled “CSS-Klassen”.polski-social-login- Button-Container.polski-social-login__button- Anmeldebutton.polski-social-login__button--google- Google-Button.polski-social-login__button--facebook- Facebook-Button.polski-social-login__separator- Trenner “oder”
Modul-ID
Section titled “Modul-ID”social_login
Fehlerbehebung
Section titled “Fehlerbehebung”Der Button leitet auf die Fehlerseite des Anbieters weiter - prüfen Sie, ob die Weiterleitungs-URI in der Anbieterkonsole exakt mit der Shop-Adresse übereinstimmt (achten Sie auf https vs. http und den abschließenden Slash).
Der Nutzer wird nach der Anmeldung nicht erstellt - stellen Sie sicher, dass auto_register aktiviert ist. Wenn deaktiviert, funktioniert die Anmeldung nur für bestehende Konten mit passender E-Mail-Adresse.
Fehler “invalid_client” - prüfen Sie, ob Client ID und Client Secret korrekt sind. Stellen Sie sicher, dass am Anfang oder Ende keine zusätzlichen Leerzeichen stehen.
Facebook verlangt eine App-Überprüfung - für die grundlegende Anmeldung (E-Mail, Name) ist keine Überprüfung erforderlich. Wenn sich die App im Sandbox-Modus befindet, können sich nur Administratoren und im Meta-Panel hinzugefügte Tester anmelden.
Probleme melden: github.com/wppoland/polski/issues