Download the PHP package finext/license-client without Composer

On this page you can find all versions of the php package finext/license-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package license-client

Finext License Client

Client SDK for self-hosted Finext products to activate, verify, and heartbeat against the Finext License Server. Ships as a Composer package consumed by each product (artiqpay, dating-app, ecommerce, finext-website, finsolvitonline, fixpay, ms2pay, proxypayonline, etc.) — not part of the license-server repo itself, since it has an independent release lifecycle and must never leak server-side secrets or paths into redistributed product code.

Installation

During local development (before this package is published), require it via a Composer path repository in the host app's composer.json:

Publish the config file:

Configuration

All values are set via .env; see config/license-client.php for the full list. The essentials:

Local state (installation ID, per-activation secret, encrypted verification cache, cached public key) is written under storage/app/license/ with 0600 permissions and should stay out of version control.

Security model

Two different guarantees protect two different directions of traffic:

This reflects the fundamental limit of licensing a product whose full source is handed to the customer: it deters casual bypass, it does not achieve DRM-level enforcement.

The local cache (EncryptedLocalCache) is encrypted with sodium_crypto_secretbox using a key derived from product_id + activation secret, so it fails closed if tampered with, copied to another installation, or read without the activation secret.

Usage

Activating an installation

Falls back to LICENSE_KEY from config, then interactively prompts if neither the argument nor config value is set.

Checking license validity (recommended entry point)

check() never throws. It verifies live against the server when reachable; if the server can't be reached, it falls back to the signed local cache and applies the offline grace period (grace_period_days from the server, or LICENSE_DEFAULT_GRACE_PERIOD_DAYS if no cache exists yet).

Gating routes with the middleware

Aborts with 403 and a support message when check()['valid'] is false.

Other operations

Testing this package in isolation

Tests run as plain PHPUnit (no Laravel container bootstrap) — all pure-logic classes (HmacSigner, ResponseVerifier, EncryptedLocalCache, GracePeriodPolicy) avoid Laravel facades so they can be exercised directly, including a golden-vector cross-check of the canonical JSON format against the license server's own implementation.

Compatibility

PHP ^8.2 with the sodium extension, Laravel (illuminate/support|http|console) ^10, ^11, ^12, or ^13.


All versions of license-client with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-sodium Version *
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
illuminate/http Version ^10.0|^11.0|^12.0|^13.0
illuminate/console Version ^10.0|^11.0|^12.0|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package finext/license-client contains the following files

Loading the files please wait ...