Logowanie społecznościowe (social login)
Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.
Logowanie społecznościowe umożliwia klientom rejestrację i logowanie przez konto Google lub Facebook. Eliminuje konieczność tworzenia i zapamiętywania hasła, co przyspiesza proces zakupowy i zwiększa liczbę rejestracji.
Włączenie modułu
Dział zatytułowany „Włączenie modułu”Przejdź do WooCommerce > Polski > Moduły sklepowe i włącz Logowanie społecznościowe. Następnie skonfiguruj klucze API dla wybranych dostawców (Google, Facebook lub oba).
Funkcje
Dział zatytułowany „Funkcje”- Logowanie i rejestracja przez Google OAuth2
- Logowanie i rejestracja przez Facebook OAuth2
- Przyciski na stronie Moje konto, zamówienia i logowania WordPress
- Automatyczna rejestracja z rolą “Klient” (customer)
- Łączenie kont po adresie e-mail lub identyfikatorze dostawcy
- Bezpieczna obsługa tokenów OAuth2
- Brak przechowywania haseł użytkowników logujących się społecznościowo
Ustawienia
Dział zatytułowany „Ustawienia”Konfiguracja w WooCommerce > Polski > Moduły sklepowe > Logowanie społecznościowe.
| Ustawienie | Domyślnie | Opis |
|---|---|---|
google_enabled | false | Włącz logowanie przez Google |
google_client_id | - | Client ID z Google Cloud Console |
google_client_secret | - | Client Secret z Google Cloud Console |
facebook_enabled | false | Włącz logowanie przez Facebook |
facebook_app_id | - | App ID z Meta for Developers |
facebook_app_secret | - | App Secret z Meta for Developers |
auto_register | true | Automatycznie twórz konto przy pierwszym logowaniu |
Opcja w bazie danych: polski_social_login.
Konfiguracja dostawców
Dział zatytułowany „Konfiguracja dostawców”- Przejdź do Google Cloud Console
- Utwórz nowy projekt lub wybierz istniejący
- Przejdź do APIs & Services > Credentials
- Kliknij Create Credentials > OAuth 2.0 Client ID
- Typ aplikacji: Web application
- Dodaj autoryzowany URI przekierowania:
https://twojsklep.pl/?polski_social_login=google_callback - Skopiuj Client ID i Client Secret do ustawień modułu
- Upewnij się, że Google+ API lub People API jest włączone w projekcie
- Przejdź do Meta for Developers
- Utwórz nową aplikację typu Consumer
- W ustawieniach aplikacji przejdź do Facebook Login > Settings
- Dodaj prawidłowy URI przekierowania OAuth:
https://twojsklep.pl/?polski_social_login=facebook_callback - Skopiuj App ID i App Secret do ustawień modułu
- Ustaw aplikację w tryb Live (nie sandbox)
Łączenie kont
Dział zatytułowany „Łączenie kont”Moduł łączy konta użytkowników w następujący sposób:
- Po adresie e-mail - jeśli konto WordPress z tym samym adresem e-mail już istnieje, moduł łączy je automatycznie (użytkownik loguje się na istniejące konto)
- Po identyfikatorze dostawcy - jeśli użytkownik logował się wcześniej przez tego samego dostawcę, moduł rozpoznaje go po zapisanym identyfikatorze
Dane dostawcy zapisywane są w usermeta:
_polski_social_google_id- identyfikator Google_polski_social_facebook_id- identyfikator Facebook
Szczegóły techniczne
Dział zatytułowany „Szczegóły techniczne”Przepływ OAuth2
Dział zatytułowany „Przepływ OAuth2”- Klient klika przycisk “Zaloguj przez Google/Facebook”
- Przekierowanie do strony autoryzacji dostawcy
- Klient wyraża zgodę na udostępnienie danych
- Dostawca przekierowuje z powrotem do sklepu z kodem autoryzacji
- Moduł wymienia kod na token dostępu (po stronie serwera)
- Moduł pobiera profil użytkownika (imię, e-mail, identyfikator)
- Użytkownik jest logowany lub rejestrowany
Bezpieczeństwo
Dział zatytułowany „Bezpieczeństwo”- Tokeny OAuth2 wymieniane są po stronie serwera (nigdy w przeglądarce)
- Parametr
statechroni przed atakami CSRF - Nonce WordPress walidowany przy inicjacji logowania
- Client Secret nigdy nie jest eksponowany w kodzie front-end
// Zmień rolę nowo zarejestrowanego użytkownikaadd_filter('polski/social_login/default_role', function (): string { return 'subscriber'; // domyślnie: 'customer'});
// Wykonaj akcję po rejestracji przez social loginadd_action('polski/social_login/user_registered', function (int $user_id, string $provider): void { // Wyślij powitalny e-mail wp_mail( get_userdata($user_id)->user_email, 'Witamy w sklepie!', 'Twoje konto zostało utworzone.' );}, 10, 2);
// Filtruj dane profilu przed zapisaniemadd_filter('polski/social_login/profile_data', function (array $data, string $provider): array { return $data;}, 10, 2);
// Wyłącz automatyczną rejestrację dla wybranego dostawcyadd_filter('polski/social_login/auto_register', function (bool $auto, string $provider): bool { if ($provider === 'facebook') { return false; } return $auto;}, 10, 2);Klasy CSS
Dział zatytułowany „Klasy CSS”.polski-social-login- kontener przycisków.polski-social-login__button- przycisk logowania.polski-social-login__button--google- przycisk Google.polski-social-login__button--facebook- przycisk Facebook.polski-social-login__separator- separator “lub”
ID modułu
Dział zatytułowany „ID modułu”social_login
Rozwiązywanie problemów
Dział zatytułowany „Rozwiązywanie problemów”Przycisk przekierowuje na stronę błędu dostawcy - sprawdź, czy URI przekierowania w konsoli dostawcy dokładnie odpowiada adresowi sklepu (uwaga na https vs http i końcowy slash).
Użytkownik nie jest tworzony po zalogowaniu - upewnij się, że auto_register jest włączone. Jeśli wyłączone, logowanie działa tylko dla istniejących kont z pasującym adresem e-mail.
Błąd “invalid_client” - sprawdź poprawność Client ID i Client Secret. Upewnij się, że nie ma dodatkowych spacji na początku lub końcu.
Facebook wymaga recenzji aplikacji - do podstawowego logowania (e-mail, imię) recenzja nie jest wymagana. Jeśli aplikacja jest w trybie sandbox, logować mogą się tylko administratorzy i testerzy dodani w panelu Meta.
Zgłaszanie problemów: github.com/wppoland/polski/issues