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) oraz jego klucza publicznego licencji i sekretu AES z zakładki Klucze kryptograficzne w panelu admina:

BEANGUARD_SERVER_PUBLIC_KEY="..." \
BEANGUARD_SERVER_SECRET_KEY="..." \
mvn -pl beanguard-demo spring-boot:run

Następnie otwórz http://localhost:8090. Adres serwera (beanguard.demo.server.url, domyślnie http://localhost:8000) i port możesz zamiast zmiennych środowiskowych zmienić bezpośrednio w beanguard-demo/src/main/resources/application.yml.

Profile trwałości

ProfilZachowanie
memory (domyślny)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. 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?