Serwer licencji

beanguard-server to REST API i jedyne miejsce w całym systemie, gdzie przechowywany jest klucz prywatny RSA używany do podpisywania licencji.

Uruchomienie

docker pull mszajner/beanguard-server:0.1.3
docker run -d \
  -p 8000:80 \
  -e SPRING_PROFILES_ACTIVE=prod \
  -e SPRING_DATASOURCE_URL=jdbc:postgresql://<host>/beanguard \
  -e SPRING_DATASOURCE_USERNAME=beanguard \
  -e SPRING_DATASOURCE_PASSWORD=<haslo> \
  -e BEANGUARD_ADMIN_URL=https://admin.twojadomena.pl \
  -e BEANGUARD_SHOP_URL=https://sklep.twojadomena.pl \
  mszajner/beanguard-server:0.1.3

Kontener nasłuchuje wewnętrznie na porcie 80 niezależnie od zmapowanego portu hosta.

Zmienne środowiskowe

ZmiennaOpis
SPRING_PROFILES_ACTIVEUstaw na prod na produkcji — wyłącza logowanie SQL i dostraja pulę połączeń HikariCP. Serwer odmawia startu, jeśli wykryje prod razem z włączonym show_sql.
SPRING_DATASOURCE_URLJDBC URL bazy PostgreSQL
SPRING_DATASOURCE_USERNAME / SPRING_DATASOURCE_PASSWORDDane logowania do bazy
BEANGUARD_ADMIN_URLPubliczny adres panelu admina — używany m.in. w linkach w mailach
BEANGUARD_SHOP_URLPubliczny adres sklepu

Parametry konfiguracyjne

Po pierwszym uruchomieniu reszta konfiguracji żyje w bazie (tabela parameter). Prawie każda grupa ma już wygodny ekran w panelu admina:

GrupaDo czego służyGdzie edytować
LICENCE_*Klucze RSA/AES i wystawca do podpisywania i szyfrowania licencji klientówKlucze kryptograficzne (zakładka Licencje)
LICENCE_DEMO_CLAIMS / LICENCE_DEMO_EXPIRATION_DAYSDomyślne claims i czas ważności automatycznie wystawianych licencji demoLicencje
TOKEN_*Klucze RSA/AES, wystawca i czas ważności sesji administratorów paneluKlucze kryptograficzne (zakładka Token)
BRANDING_*Tytuł, logo, favicon, kolor, e-mail wsparciaBranding
LEGAL_*Dane firmy, waluta i VAT, dokumenty prawne, teksty na certyfikacie i fakturze pro-formaUstawienia
MAIL_HOST / PORT / USER / PASS / FROM / SENDER_NAME / SMTP_STARTTLS / EXPIRY_WARNING_DAYSSerwer SMTP i harmonogram przypomnień o wygaśnięciu licencjiParametry
RATE_LIMIT_OPEN_RPMLimit żądań na minutę dla publicznych endpointów bez uwierzytelnieniaParametry

REST API

Pełne, interaktywne API dostępne jest przez Swagger UI pod /swagger-ui.html uruchomionej instancji serwera. Najważniejsze grupy endpointów:

  • /auth/login — logowanie do panelu, zwraca token sesji; jedyny endpoint poza /api/open/** dostępny bez tokenu.
  • /api/licences, /api/licence-keys, /api/token-keys, /api/users, /api/orders, /api/products, /api/parameters — wymagają zalogowania (JWT), używane przez panel admina.
  • /api/open/licences, /api/open/licences/transfer, /api/open/shop, /api/open/config — bez uwierzytelnienia, używane przez beanguard-client i sklep; objęte limitem RATE_LIMIT_OPEN_RPM.

Czy ta strona była pomocna?