chubbyphp/chubbyphp-session-storageless

This package is abandoned and no longer maintained. No replacement package was suggested.

Storageless persistence adapter for mezzio-session

dev-master / 1.0.x-dev 2020-09-26 06:15 UTC

This package is auto-updated.

Last update: 2020-09-26 06:16:27 UTC


README

Build Status Coverage Status Latest Stable Version Total Downloads Monthly Downloads Daily Downloads

Description

psr7-sessions/storageless persistence adapter for mezzio/mezzio-session.

DEPRECATED: Use storageless-mezzio-integration instead.

Requirements

Installation

Through Composer as chubbyphp/chubbyphp-session-storageless.

composer require chubbyphp/chubbyphp-session-storageless "^1.0"

Usage

With laminas-stratigility using symmetric key (hmac)

Generate key

openssl rand -base64 32

Code

<?php

declare(strict_types=1);

namespace App;

use Chubbyphp\Session\Storageless\PSR7StoragelessSessionPersistence;
use PSR7Sessions\Storageless\Http\SessionMiddleware as PSR7SessionMiddleware;
use Mezzio\Session\SessionMiddleware as MezzioSessionMiddleware;
use Laminas\Stratigility\MiddlewarePipe;

$middlewarePipe = new MiddlewarePipe();
$middlewarePipe->pipe(PSR7SessionMiddleware::fromSymmetricKeyDefaults(
    'JeIn7GmQJRkM4dP3T5ZfVcHk7rxyVoMzR1DptTIquFY=',
    1200
));
$middlewarePipe->pipe(new MezzioSessionMiddleware(new PSR7StoragelessSessionPersistence()));

With laminas-stratigility using asymmetric key (rsa)

Generate key

openssl genrsa -out signatureKey 512
openssl rsa -in signatureKey -out verificationKey -outform PEM -pubout

Code

<?php

declare(strict_types=1);

namespace App;

use Chubbyphp\Session\Storageless\PSR7StoragelessSessionPersistence;
use PSR7Sessions\Storageless\Http\SessionMiddleware as PSR7SessionMiddleware;
use Mezzio\Session\SessionMiddleware as MezzioSessionMiddleware;
use Laminas\Stratigility\MiddlewarePipe;

$middlewarePipe = new MiddlewarePipe();
$middlewarePipe->pipe(PSR7SessionMiddleware::fromAsymmetricKeyDefaults(
    '-----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBAKgrmaZQsaEXrlNahrSKzKwWOgEt0SSFlv+Onm94oWNfx7ghZ+Up
cgTwFl+oNMa/AbpO2a6fTuj558/Z0SlWFdUCAwEAAQJBAKKrMf/ndDqv7mcgXMaM
sDgRc+AqEnCybAIdUXHgDLRSolzH36lkg6/jrr8S1G/e7QdK2yvpVgaP/KH0zReo
nMECIQDdXX1vtzxgX+zv8DTNHN3m0StHuJHGC0oaOsDOX06IZQIhAMJ7dGy8XUGy
39INUFBneNc0I4QKxG31jIs6tOe/MiixAiA9GJiORNx9HPygHIP2OIlmM0TmvqI9
LtB8/MpKKzPZoQIgGQfwtSoNSq5uFkf2ZVLb/77LL2x/WbO38heNPyKhnxECIH1T
PbQ839hbekzuV+y8Me+JSUHgybVMg9BDzRXwON7f
-----END RSA PRIVATE KEY-----',
    '-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKgrmaZQsaEXrlNahrSKzKwWOgEt0SSF
lv+Onm94oWNfx7ghZ+UpcgTwFl+oNMa/AbpO2a6fTuj558/Z0SlWFdUCAwEAAQ==
-----END PUBLIC KEY-----',
    1200
));
$middlewarePipe->pipe(new MezzioSessionMiddleware(new PSR7StoragelessSessionPersistence()));

Copyright

Dominik Zogg 2020