soatok/wp-paseto

PASETO v4.local implementation that supports PHP 5.6+ (for WordPress projects)

v0.1.0 2022-10-22 05:06 UTC

This package is auto-updated.

Last update: 2024-03-22 07:58:54 UTC


README

Build Status Static Analysis Latest Stable Version Latest Unstable Version License Downloads

Requirements:

  • PHP 5.6 or newer

Recommended:

  • PHP 7.2 or newer
  • Sodium extension

Supports key rotation. Implements v4.local. only!

Installing

composer require soatok/wp-paseto

Usage

Provide an array of key id strings mapped to hex-encoded keys to the constructor. Then you can encode() and decode() arrays containing arbitrary claims.

<?php
// Define your keys
$encoder = new WP_Paseto((
    'key-id-1' => 'hex-encoded 256-bit (32 byte) random key goes here',
    'key-id-2' => 'hex-encoded 256-bit (32 byte) random key goes here',
    // ...
    'key-id-N' =>L 'hex-encoded 256-bit (32 byte) random key goes here'
));

// Encode a secret
$token = $encoder->encode(array('secret' => 'value goes here'));

var_dump($token);
/* v4.local.fHvh8jwJauiNMdC0yRZ9xvbCE5cdrNwP4... */

// Decode
$claims = $encoder->decode($token);