developers-hub-my / g8key-client
G8Key license client for verification, activation, and heartbeat in G8Suite products
Fund package maintenance!
v0.2.0
2026-05-02 01:43 UTC
Requires
- php: ^8.4
- ext-curl: *
- ext-json: *
- ext-sodium: *
- illuminate/contracts: ^11.0||^12.0||^13.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.8
- orchestra/testbench: ^10.0||^11.0
- pestphp/pest: ^4.0
- pestphp/pest-plugin-arch: ^4.0
- pestphp/pest-plugin-laravel: ^4.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
This package is auto-updated.
Last update: 2026-05-02 01:44:34 UTC
README
Shared Laravel client for G8Key licensing. Every G8Suite product (G8Stack, G8ID, G8Connect,
…) installs this package to verify offline EdDSA tokens, run activation and heartbeat against the G8Key server, and
gate features through a License facade and route middleware.
Features
- Offline EdDSA token verification mirroring the server-side verifier
php artisan license:activate,license:heartbeat,license:deactivate,license:statusLicensefacade withhas(),tier(),seats(),expiresAt(),isValid()- Route middleware (
license,license.feature:{name}) and Blade@licenseFeaturedirective - Pluggable license store (file or database)
- Multi-
kidpublic-key map for zero-downtime key rotation
Installation
composer require developers-hub-my/g8key-client
php artisan vendor:publish --tag="g8key-client-config"
If using the database store:
php artisan vendor:publish --tag="g8key-client-migrations"
php artisan migrate
Quick Start
Configure .env:
G8KEY_AUDIENCE=g8stack G8KEY_API_BASE=https://lic.g8suite.com G8STACK_LICENSE_PUBLIC_KEY_G8STACK_2026_04=<base64 from G8Key admin>
Activate, schedule, and gate:
php artisan license:activate G8ST-K7HM-3PXR-9F2B-WQ8N
// routes/console.php Schedule::command('license:heartbeat')->daily()->withoutOverlapping();
use G8Key\Client\Facades\License; if (License::has('sso')) { // SSO is on this license tier }
Documentation
Full documentation lives in docs/:
- Getting Started — install, quick start, configuration
- Architecture — package layout, token format, data flow
- Integration — activation, heartbeat, entitlements, deactivation
- Configuration — env vars, public keys, stores
- Operations — key rotation, offline grace, troubleshooting
- Development — implementation plan, testing, contributing
- Decisions — architecture decision records
Testing
composer test
Changelog
See CHANGELOG.md.
Contributing
See docs/06-development/03-contributing.md.
Security
If you discover a security issue, email nasrulhazim.m@gmail.com rather than opening a public issue.
Credits
License
The MIT License (MIT). See LICENSE.md.