Download the PHP package pps-protocol/laravel-pps without Composer

On this page you can find all versions of the php package pps-protocol/laravel-pps. 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 laravel-pps

Laravel PPS

Laravel integration for the PulseProof Sentinel Protocol (PPS)

Laravel PPS PHP 8.1+ Laravel 10/11/12/13 Status: Experimental License: Apache-2.0


Introduction

laravel-pps is the official Laravel integration package for the PulseProof Sentinel Protocol, abbreviated PPS.

This package provides:

The core protocol implementation lives in the framework-agnostic package:

This package, pps-protocol/laravel-pps, depends on pps-protocol/pps-php and only adds Laravel-specific integration.


What is PPS?

PulseProof Sentinel Protocol, or PPS, is an experimental authentication protocol based on time-bound asymmetric proofs.

Instead of shared-secret TOTP codes:

PPS uses signed asymmetric proofs:

The server stores only public keys.

PPS is designed to complement, not replace, WebAuthn/FIDO2.

WebAuthn remains preferred for browser-based passkey authentication.

PPS targets operational gaps such as:


Important Links

Resource Link
PPS Specification pps-protocol/pulseproof-sentinel
IETF Internet-Draft draft-hezami-pulseproof-sentinel
Core PHP Package pps-protocol/pps-php
Laravel Package pps-protocol/laravel-pps
Documentation Site pps-protocol.github.io

Requirements

Requirement Version
PHP 8.1+
Laravel 10.x, 11.x, 12.x or 13.x
ext-sodium required
ext-gmp required
ext-hash required
ext-json required

The core package pps-protocol/pps-php will be installed automatically.


Installation

Install via Composer:

Laravel package discovery should automatically register:

and the facade:

If package discovery is disabled, register manually in config/app.php:


Publish Configuration and Migrations

Run the install command:

This publishes:

Then run migrations if you are using the PDO storage driver:


Configuration

The main configuration file is:

You can also configure PPS using environment variables.

Relying Party Identifier

The rp_id identifies your service.

Examples:

For local development:


Storage Drivers

PPS needs storage for:

Supported drivers:

Memory

For testing only:

File

Good for development or single-process apps:

Default path:

PDO

Recommended for production:

Then run:

Redis

For high-performance distributed deployments:


Routes

By default, this package registers the following routes:

Method URI Description
GET /pps/health Health check
GET /pps/challenge Create authentication/registration challenge
POST /pps/register Register a device
POST /pps/verify Verify a Pulse Token
POST /pps/transaction/challenge Create transaction challenge
POST /pps/transaction/verify Verify transaction-bound Pulse

You can customize the prefix:

Or disable default routes:


Health Check

Example response:


Basic Authentication Flow

1. Get Challenge

Example response:


2. Register Device

Device registration requires a registration_token.

The registration_token is generated by a PPS client using the core package:

Then send it to Laravel:

Example response:


3. Authenticate

The client creates a Pulse Token:

Then send it to Laravel:

Example response:


Facade Usage

Verify a Pulse:


Transaction Signing

Create a transaction challenge:

Example response:

The client should bind the transaction hash and amount to the Pulse:

Then verify:

The Trust Code includes the AmountMark:

The last two digits match the transaction amount modulo 100.


Silent Duress

PPS supports silent duress signaling.

If a user authenticates under coercion, the client can sign with a hidden duress key.

The server detects this internally:

Important:

The HTTP response for a duress authentication must be indistinguishable from a normal successful authentication.

Do not return:

Instead, return:

Then internally:


Threshold Mode

PPS supports offline multi-device threshold approval.

The core package implements n-of-m Ed25519 multisignature.

This Laravel package can verify threshold Pulses through the same verification engine provided by pps-protocol/pps-php.

Threshold group management may be implemented in your application or added in future versions of this package.


Artisan Commands

Install PPS Resources

Publishes:


Generate Key Pair

Example output:

Warning:

Never commit secret keys to source control.


Testing

Run package tests:


Package Architecture

This package does not reimplement the protocol.

It only provides Laravel integration around the core package.


Security

This package is experimental.

It has not been independently audited.

Do not use it in production without:

See SECURITY.md.


Changelog

See CHANGELOG.md.


License

Apache License 2.0

See LICENSE.


All versions of laravel-pps with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
pps-protocol/pps-php Version ^0.1
illuminate/support Version ^10.0 || ^11.0 || ^12.0 || ^13.0
illuminate/http Version ^10.0 || ^11.0 || ^12.0 || ^13.0
illuminate/routing Version ^10.0 || ^11.0 || ^12.0 || ^13.0
illuminate/console Version ^10.0 || ^11.0 || ^12.0 || ^13.0
illuminate/database 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 pps-protocol/laravel-pps contains the following files

Loading the files please wait ...