Architektura Licencjonowania, Auto-Updater i Cloud Vault
Dystrybucja komercyjnych wtyczek WordPress (wersje PRO) stawia przed twórcami wyzwania związane z ochroną własności intelektualnej, zarządzaniem domenami klientów oraz dostarczaniem bezpiecznych, automatycznych aktualizacji.
W tym dokumencie szczegółowo wyjaśniamy architekturę technologiczną platformy Pluger.pl, która łączy serwer licencji, integrację płatności Stripe, mechanizm One-Click Connect oraz technologię Cloud Vault.
1. Jak działa silnik licencjonowania Pluger?
Tradycyjne systemy licencyjne wymagają od klienta logowania się do panelu, kopiowania długich ciągów znaków (License Key) i ręcznego wklejania ich do ustawień wtyczki. W Pluger wprowadziliśmy architekturę dwutorową:
┌─────────────────────────┐ OAuth-like Flow ┌─────────────────────────┐
│ Strona Klienta │ ────────────────────────────────> │ Pluger.pl │
│ (WordPress Dashboard) │ <──────────────────────────────── │ (Licensing Engine) │
└─────────────────────────┘ One-Click Token Exchange └─────────────────────────┘
│ │
│ Periodic Check (Every 12h) │
▼ ▼
┌─────────────────────────┐ ┌─────────────────────────┐
│ Transients Cache DB │ │ Supabase DB + Vault │
│ (Grace Period: 14 Days) │ │ (Slots, Domains, Plan) │
└─────────────────────────┘ └─────────────────────────┘
Dwa sposoby autoryzacji:
- One-Click Connect (Zalecany):
- Administrator klika przycisk „Połącz z Pluger.pl” w kokpicie WordPressa.
- Zostaje przekierowany na bezpieczną stronę autoryzacji z podpisem HMAC.
- Po potwierdzeniu autoryzacji token API i klucz licencji są automatycznie przesyłane z powrotem do witryny klienta i zapisywane w
wp_options.
- Master API Key / License Key:
- Uniwersalny klucz API powiązany z kontem klienta, który pozwala na aktywację wszystkich zakupionych wtyczek z rodziny Entriso jednym identyfikatorem.
2. Architektura Auto-Updatera (Aktualizacje w Kokpicie WP)
Aby wtyczka spoza oficjalnego repozytorium WordPress.org mogła być aktualizowana natywnie przez administratora strony, integruje się z dwoma kluczowymi filtrami jądra WordPress:
A. Filtr site_transient_update_plugins
WordPress regularnie sprawdza dostępność aktualizacji. Nasz moduł klienta przechwytuje to zapytanie i odpytuje endpoint /api/updates/[slug] na serwerze Pluger:
add_filter('site_transient_update_plugins', function ($transient) {
if (empty($transient->checked)) {
return $transient;
}
$remote_info = pluger_get_latest_release_info('ets-rocket');
if ($remote_info && version_compare(MY_PLUGIN_VERSION, $remote_info->new_version, '<')) {
$transient->response['ets-rocket/ets-rocket.php'] = (object) [
'slug' => 'ets-rocket',
'plugin' => 'ets-rocket/ets-rocket.php',
'new_version' => $remote_info->new_version,
'package' => $remote_info->download_url, // Zabezpieczony link tymczasowy S3
'url' => 'https://pluger.pl/market',
];
}
return $transient;
});
B. Filtr plugins_api
Odpowiada za wyświetlanie okna ze szczegółami nowego wydania (Changelog, zrzuty ekranu, wymagania PHP i WordPress) bezpośrednio w modalu instalatora.
3. Technologia Cloud Vault (Zdalna Ochrona Kodu)
Dla najbardziej wrażliwych funkcji biznesowych i autorskich algorytmów wprowadziliśmy technologię Cloud Vault:
- Zdalne zasilanie w locie: Krytyczny kod modułu nie znajduje się w plikach lokalnych na serwerze klienta, lecz jest bezpiecznie strumieniowany bezpośrednio do pamięci RAM procesu PHP po pomyślnej walidacji sesji licencyjnej.
- Mechanizm Kill-Switch: W przypadku wygaśnięcia subskrypcji lub wykrycia naruszenia licencji, dostęp do modułu Cloud Vault wygasa natychmiast bez ingerencji w pliki na serwerze.
- Optymalizacja buforowania: Sesja jest szyfrowana kluczem prywatnym serwera i buforowana w Transients, co gwarantuje zerowy narzut wydajnościowy przy standardowych odsłonach stron.
4. Gwarancja Ciągłości Działania (Grace Period)
Wiemy, jak krytyczna jest niezawodność sklepów WooCommerce. Dlatego ekosystem Pluger posiada wbudowany 14-dniowy bufor awaryjny (Grace Period):
- W przypadku chwilowej niedostępności sieci lub prac konserwacyjnych po stronie serwera licencji, wtyczki działają w 100% normalnie, korzystając z lokalnego podpisanego stempla bezpieczeństwa.
- Sklep Twojego klienta nigdy nie przestanie działać przez błąd połączenia internetowego.
Następne Kroki
Chcesz wykorzystać infrastrukturę Pluger do licencjonowania własnych produktów lub zamówić dedykowaną wtyczkę?
- Przeczytaj o dobrych praktykach programowania.
- Skontaktuj się z nami w ramach programu współpracy B2B dla deweloperów i agencji.