Przykładowa aplikacja: beanguard-demo

beanguard-demo to niewielka, uruchamialna aplikacja Spring Boot w tym samym repozytorium co beanguard-client — najszybszy sposób, żeby zobaczyć pełną integrację (pobranie licencji, odczyt statusu, odświeżenie, przedłużenie, przeniesienie) w działaniu, zanim wpięsz ją we własną aplikację.

Uruchomienie

Potrzebujesz działającego beanguard-server (zobacz Szybki start). Uruchom aplikację — bez żadnej wcześniejszej konfiguracji:

cd beanguard-demo
mvn spring-boot:run

Następnie otwórz http://localhost:8090. Gdy połączenie z serwerem nie jest jeszcze skonfigurowane, najprostszy sposób to zwinięty panel Połączenie z serwerem na górze strony: wklej adres serwera oraz klucz publiczny/sekret AES z zakładki Klucze kryptograficzne w panelu admina i kliknij Zapisz i połącz ponownie — bez restartu.

Alternatywnie możesz ustawić BEANGUARD_SERVER_URL / BEANGUARD_SERVER_PUBLIC_KEY / BEANGUARD_SERVER_SECRET_KEY jako zmienne środowiskowe (albo edytować beanguard-demo/src/main/resources/application.yml) przed uruchomieniem — to staje się wartością domyślną, dopóki coś nie zostanie zapisane przez panel, który wtedy ma pierwszeństwo.

Profile trwałości

ProfilZachowanie
memory (domyślny)Połączenie z serwerem (jeśli ustawione przez panel), klucz/sekret licencji i ewentualne oczekujące przeniesienie żyją tylko w pamięci — restart aplikacji je czyści i ponownie pojawia się formularz licencji demo.
fileZapisywane do ./beanguard-demo-data/ (względem katalogu roboczego) — przetrwa restart.

Profil zmienisz flagą --spring.profiles.active=file albo edytując spring.profiles.active w application.yml.

Co możesz przetestować

  1. Wygeneruj licencję demo — gdy żadna licencja nie jest wczytana, aplikacja pokazuje formularz z e-mailem i numerem NIP. Jego wysłanie wywołuje samoobsługowy endpoint serwera, który wystawia licencję DEMO (zobacz Licencje demo) i od razu pokazuje jej claims, termin ważności i klucz.
  2. Odśwież — pobiera bieżącą licencję z serwera na żądanie, zamiast czekać na cogodzinne automatyczne odświeżenie w beanguard-client. Przydatne zaraz po edycji claimów albo przedłużeniu licencji w panelu admina.
  3. Przedłuż — przekierowuje do beanguard-shop z tożsamością licencji w adresie, tą samą ścieżką, którą przechodzi klient kupujący przedłużenie.
  4. Przenieś na nową maszynę — ekran ze stanem pustym ma też drugi formularz do wpisania istniejącego klucza licencji, symulujący reinstalację (albo odzyskanie licencji z profilu memory utraconej przy restarcie). Serwer wysyła mailem link potwierdzający — jeśli uruchamiasz własny docker-compose.yml serwera, sprawdź go w Mailpit — trzeba go raz otworzyć, a potem kliknąć Sprawdź status na stronie demo, żeby odebrać nowy sekret.

Gdzie szukać w kodzie

  • FileBeanGuardConfiguration / InMemoryBeanGuardConfiguration (dev.beanguard.demo.licence) — dwie implementacje BeanGuardConfiguration stojące za profilami file/memory, w tym updateServerConfig() stojące za panelem Połączenie z serwerem. Porównaj je z przykładem w Implementacji BeanGuardConfiguration.
  • DemoController — jedyna klasa rozmawiająca bezpośrednio z LicenceRegistry i BeanGuardServer; wzór dla wzorca Odczytu statusu licencji we własnej aplikacji.

Czy ta strona była pomocna?