Verifica di response authn

Stando alle regole tecniche, un SP dovrebbe verificare che:

SubjectConfirmationData riportante gli attributi:
• Recipient riportante l’AssertionConsumerServiceURL relativa al servizio
per cui è stata emessa l’asserzione e l’attributo
• NotOnOrAfter che limita la finestra di tempo durante la quale
l’asserzione può essere propagata.
• InResponseTo, il cui valore deve fare riferimento all’ID della
richiesta;

Nel caso di InResponseTo qual è la linea guida? Tenere una lista di tutte le richieste effettuate nel DB della app? in https://github.com/italia/spid-simplesamlphp dove viene effettuata la verifica? (non conosco molto il php ma se almeno poteste indicarmi il punto nel codice dove vengono effettuate queste verifiche vi sarei grato)

Ciao @fulvioesposito
InResponseTo va validato e le richieste possono essere memorizzate in un sistema di storing dell’access management, relativamente a spid-simplesamlphp la validazione di InResponseTo viene effettuata in https://github.com/italia/spid-simplesamlphp/blob/master/modules/saml/lib/Message.php

if ($scd->InResponseTo !== null && $response->getInResponseTo() !== null &&
            $scd->InResponseTo !== $response->getInResponseTo()
        ) {
            $lastError = 'InResponseTo in SubjectConfirmationData does not match the Response. Response has '.
                var_export($response->getInResponseTo(), true).
                ', SubjectConfirmationData has '.var_export($scd->InResponseTo, true).'.';
            continue;
        }

Umberto Rosini
Agenzia per l’Italia Digitale