spid-laravel icon indicating copy to clipboard operation
spid-laravel copied to clipboard

Registro delle transazioni

Open pokono opened this issue 4 years ago • 2 comments

Ciao ragazzi,

Leggendo la sezione Log per i Service Providers sembra che sia necessario mantenere un log delle Richieste e Risposte delle transazioni nella SAML SPID.

https://docs.italia.it/italia/spid/spid-regole-tecniche/it/stabile/log.html#service-provider

Non ho trovato niente di disponibile nella libreria per prendere queste informazioni. Ho visto qualcosa che si potrebbe ottenere dalla sessione, ma decisamente troppe poche informazioni.

Dando un occhio alla libreria della SAML, ho visto che è possibile ottenere richiesteXML e risposteXML, che sembra possa essere utile a questa fine. Siccome la nostra piattaforma è in produzione al momento, sto guardando ad una soluzione.

Se c'è interesse potrei fare una PR. Ho già speso qualche ora vedendo come funziona la libreria, al momento mi sembra che la soluzione più semplice sia quella di passare queste informazioni aggiuntive negli eventi login e logout e magari aggiungere un evento prima del metodo doLogin, per prendere anche l'xml della richiesta.

Che ne pensate? Mi date due dritte?

Grazie mille, Ivan

pokono avatar Oct 26 '20 03:10 pokono

Un aggiornamento veloce veloce. Alla fine ho implementato un LoggerEvent che restituisce informazioni riguardati i log mano a mano che richieste e risposte arrivano con il riferimento alla lastRequestId così possono essere salvate tutte sulla stessa riga del database.

Per ora nel logger sono incluse le seguenti informazioni, penso che siano sufficienti. Error è il messaggio delle eccezioni nelle varie parti del codice.

protected $requestId;
protected $requestIssueIstant;
protected $requestXML;
protected $responseId;
protected $responseXML;
protected $responseIssueInstant;
protected $assertionId;
protected $assertionSubject;
protected $assertionSubjectNameQualifier;
protected $error;

Domani mando una PR così magari possiamo iniziare la discussione con un po' di codice sotto.

pokono avatar Oct 26 '20 06:10 pokono

Eccola 🤞🥳

pokono avatar Oct 27 '20 03:10 pokono