sspmod_saml_Auth_Source_SP::onProcessingCompleted PHP Méthode

onProcessingCompleted() public static méthode

Called when we have completed the procssing chain.
public static onProcessingCompleted ( array $authProcState )
$authProcState array The processing chain state.
    public static function onProcessingCompleted(array $authProcState)
    {
        assert('array_key_exists("saml:sp:IdP", $authProcState)');
        assert('array_key_exists("saml:sp:State", $authProcState)');
        assert('array_key_exists("Attributes", $authProcState)');
        $idp = $authProcState['saml:sp:IdP'];
        $state = $authProcState['saml:sp:State'];
        $sourceId = $state['saml:sp:AuthId'];
        $source = SimpleSAML_Auth_Source::getById($sourceId);
        if ($source === NULL) {
            throw new Exception('Could not find authentication source with id ' . $sourceId);
        }
        /* Register a callback that we can call if we receive a logout request from the IdP. */
        $source->addLogoutCallback($idp, $state);
        $state['Attributes'] = $authProcState['Attributes'];
        if (isset($state['saml:sp:isUnsolicited']) && (bool) $state['saml:sp:isUnsolicited']) {
            if (!empty($state['saml:sp:RelayState'])) {
                $redirectTo = $state['saml:sp:RelayState'];
            } else {
                $redirectTo = $source->getMetadata()->getString('RelayState', '/');
            }
            self::handleUnsolicitedAuth($sourceId, $state, $redirectTo);
        }
        SimpleSAML_Auth_Source::completeAuth($state);
    }