PHPackages                             francodacosta/caparica - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. francodacosta/caparica

ActiveLibrary[HTTP &amp; Networking](/categories/http)

francodacosta/caparica
======================

secure your REST api with signed requests

1.0(11y ago)336.5k↑35.7%1[1 issues](https://github.com/francodacosta/caparica/issues)2MITPHPPHP &gt;=5.3.0

Since Dec 12Pushed 11y ago1 watchersCompare

[ Source](https://github.com/francodacosta/caparica)[ Packagist](https://packagist.org/packages/francodacosta/caparica)[ Docs](https://github.com/francodacosta/caparica)[ RSS](/packages/francodacosta-caparica/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (10)Used By (2)

Caparica [![Build Status](https://camo.githubusercontent.com/fb2f4e53a76c3523b7cf634f0de9f991fd0b6faddb1c7c54289a972e9ece2b0b/68747470733a2f2f7472617669732d63692e6f72672f6672616e636f6461636f7374612f63617061726963612e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/francodacosta/caparica) [![Total Downloads](https://camo.githubusercontent.com/36487098cdeb533e8b6c2005815e28bad167fc1a7f3e59114af609ce579e3b07/68747470733a2f2f706f7365722e707567782e6f72672f6672616e636f6461636f7374612f63617061726963612f646f776e6c6f6164732e737667)](https://packagist.org/packages/francodacosta/caparica) [![Latest Stable Version](https://camo.githubusercontent.com/81475ef538a570fcb0f0eebfbffcb378fc1e8cf4ad6dcc176cf262efa30e8a7a/68747470733a2f2f706f7365722e707567782e6f72672f6672616e636f6461636f7374612f63617061726963612f762f737461626c652e737667)](https://packagist.org/packages/francodacosta/caparica)
==============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

[](#caparica----)

*Php library to validate and create signed requests*

> this is a low level library, you might want to check
>
> - [Caparica Bundle](https://github.com/francodacosta/caparica-bundle) a symfony2 bundle
> - [Caparica Guzzle](https://github.com/francodacosta/caparica-guzzle-plugin) a Guzzle plugin to automatically sign requests for you

Installation
------------

[](#installation)

```
composer.phar require francodacosta/caparica

```

### Documentation

[](#documentation)

> Please be sure to read the documentation, make sure you understand the client and server parts of Caparica.
>
> The latest documentation can be found on the [docs folder](docs/index.md)

Sign a request *(client side)*
------------------------------

[](#sign-a-request-client-side)

```
use Caparica\Crypto\RequestSigner;

$signer = new RequestSigner();
$password = "12345678901234567890";
$params = array (
    'a' => 'bcd',
    'c' => '123',
    'b' => 'ewq',
    'X-CAPARICA-TIMESTAMP' => date('U')
);

$signature = $signer->sign($params, $password);
```

### Validate a request *(server side)*

[](#validate-a-request-server-side)

```
use Caparica\Security\RequestValidator;
use Caparica\Client\BasicClient;

$client = new BasicClient;

$requestValidator = new RequestValidator(new RequestSigner);

// this values come from the request the client made
// use whatever methods your framework has to access http requests
$requestParams = array(
   'X-CAPARICA-DATE' => "12345676743",
    'a'               => 'bcd',
    'c'               => '123',
    'b'               => 'ewq',
);

// the signature comes from the request, we will use it to compare with the server
// generated one, if they match we know the request is valid
$requestSignature = '0c6513e432bb25d8be659a99ca240a64f60dee875e04d557341a677bfe08a1bf';

$isValid = $requestValidator->validate($client, $requestSignature, $requestParams);
```

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance13

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~37 days

Recently: every ~73 days

Total

9

Last Release

4244d ago

Major Versions

0.0.8 → 1.02014-10-04

### Community

Maintainers

![](https://www.gravatar.com/avatar/1cbe8ab4840e453e513388d12d589669eb41209dd78c860d72648c0e21a8e83c?d=identicon)[francodacosta](/maintainers/francodacosta)

---

Top Contributors

[![francodacosta](https://avatars.githubusercontent.com/u/769773?v=4)](https://github.com/francodacosta "francodacosta (52 commits)")

---

Tags

apirestsecurehmac

### Embed Badge

![Health badge](/badges/francodacosta-caparica/health.svg)

```
[![Health](https://phpackages.com/badges/francodacosta-caparica/health.svg)](https://phpackages.com/packages/francodacosta-caparica)
```

###  Alternatives

[xendit/xendit-php

Xendit PHP SDK

189730.6k6](/packages/xendit-xendit-php)[angelleye/paypal-php-library

PHP wrapper for PayPal APIs

243440.9k](/packages/angelleye-paypal-php-library)[infobip/infobip-api-php-client

PHP library for consuming Infobip's API

921.8M10](/packages/infobip-infobip-api-php-client)[emartech/escher

Library for HTTP request signing (PHP implementation)

20293.8k8](/packages/emartech-escher)[ezralazuardy/heimdall

Painless OAuth 2.0 Server for CodeIgniter 4

454.2k](/packages/ezralazuardy-heimdall)[onesignal/onesignal-php-api

A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com

34170.2k2](/packages/onesignal-onesignal-php-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
