Wszystko, co warto wiedzieć, zanim zainstalujesz.
Szczegółowe spojrzenie na to, jak działa DataFirefly Social Connect: Shopware 6, Logowanie Google, Apple i Facebook, dlaczego zbudowaliśmy go w ten sposób i jaka myśl stoi za powyższymi funkcjami.
Dlaczego logowanie społecznościowe zmienia konwersję
Według badań e-commerce siedmiu do ośmiu odwiedzających na dziesięciu porzuca rejestrację z powodu formularza. Logowanie społecznościowe sprowadza to tarcie do jednego kliknięcia i zgody po stronie dostawcy. Sklepy, które je wdrażają, obserwują zwykle wzrost wskaźnika zakładania konta na wizytę o dwadzieścia do trzydziestu pięciu procent oraz wyraźnie wyższy wskaźnik ukończenia rejestracji na urządzeniach mobilnych.
Apple Sign In bez zewnętrznych zależności, naprawdę
Większość dostępnych na rynku modułów Apple Sign In dołącza firebase php-jwt albo web-token. Ten moduł idzie radykalnie inną drogą i implementuje wszystko natywnie: podpis ES256 dla client_secret JWT powstaje przez openssl_sign, z ręcznie napisaną konwersją DER na postać JOSE R||S. W konfiguracji podajesz swój klucz prywatny .p8, Team ID, Key ID i Services ID. Client_secret jest generowany w locie przy każdym żądaniu, bez cache'u do unieważniania.
Rozwiązana pułapka callbacku Apple form_post
Kiedy prosisz Apple o scope name email, callback przychodzi jako cross-site POST w trybie form_post. Domyślne ciasteczko sesji z SameSite Lax nie jest wtedy odsyłane, co psuje walidację state CSRF w większości integracji. Moduł ustawia po drodze ciasteczko state podpisane HMAC z SameSite None i weryfikuje je przy powrocie, gdy ciasteczko sesji jest niedostępne. Pole name zwrócone przez Apple przy pierwszym logowaniu jest wyciągane z pola user formularza i zapisywane.
Tworzenie konta zgodne z architekturą Shopware
Żadnego majsterkowania przy tabeli customer. Moduł korzysta z AccountService loginById, czyli oficjalnego mechanizmu logowania bez hasła wprowadzonego w Shopware 6.6. Klient powstaje z losowym hasłem, które nigdy nie jest używane ponownie, neutralną formą grzecznościową i minimalnym adresem przypisanym do domyślnego kraju sales channel. Double opt-in można wyłączyć dla zweryfikowanych adresów społecznościowych.
Inteligentne powiązanie: zero duplikatów, zero strat
Trzy poziomy rozstrzygania. Najpierw bezpośrednie wyszukanie po parze dostawca i provider_user_id. Jeśli to nie zadziała, a dostawca poświadcza zweryfikowany adres e-mail, moduł szuka istniejącego klienta po adresie i automatycznie wiąże z nim tożsamość społecznościową. Dopiero w ostateczności powstaje nowy klient. Istniejące zamówienia, grupy klientów i historia zawsze pozostają nienaruszone.
Prawdziwy panel analityczny, a nie zwykły licznik
W administracji Shopware, w sekcji Klienci, dedykowany moduł pokazuje od razu logowania i rejestracje w danym okresie, podział na dostawców (z paskami postępu w oficjalnych barwach), ogólny wskaźnik skuteczności, ostatnie błędy, dzienną krzywą zmian per dostawca na wykresie liniowym ApexCharts oraz siatkę ostatniej aktywności z klientem i komunikatem. Wszystko filtruje się po okresie (7, 30 albo 90 dni) i po sales channel.
Bezpieczeństwo na poziomie produkcyjnym
State OAuth podpisany HMAC, PKCE S256 przy Google i nonce OIDC walidowany po stronie serwera, wymuszony appsecret_proof w Facebooku, opanowany podpis Apple ES256. Adresy IP w zdarzeniach są haszowane przed zapisem. Rate limiting per IP chroni przepływ uwierzytelniania, z progiem konfigurowalnym godzinowo. Adresy powrotne są sanityzowane, żeby wykluczyć open redirect.
Wiele sales channels natywnie
Wszystkie ustawienia, czyli włączanie dostawców, dane dostępowe, styl przycisków, double opt-in, opt-in newslettera i rate limit, są ograniczone do sales channel przez standardowy SystemConfigService. Możesz włączyć Apple wyłącznie na kanale premium albo Facebooka tylko na kanale masowym, bez dotykania kodu.
Na razie nie ma opinii o produkcie.