PHP Classes

File: web/SSO/modules/saml/www/sp/discoresp.php

Recommend this page to a friend!
  Classes of william amed   Raptor 2   web/SSO/modules/saml/www/sp/discoresp.php   Download  
File: web/SSO/modules/saml/www/sp/discoresp.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Raptor 2
Framework that takes routes from annotations
Author: By
Last change:
Date: 8 years ago
Size: 1,095 bytes
 

Contents

Class file image Download
<?php

/**
 * Handler for response from IdP discovery service.
 */

if (!array_key_exists('AuthID', $_REQUEST)) {
    throw new
SimpleSAML_Error_BadRequest('Missing AuthID to discovery service response handler');
}

if (!
array_key_exists('idpentityid', $_REQUEST)) {
    throw new
SimpleSAML_Error_BadRequest('Missing idpentityid to discovery service response handler');
}

$stateID = $_REQUEST['AuthID'];

// sanitize the input
$sid = SimpleSAML_Utilities::parseStateID($stateID);
if (!
is_null($sid['url'])) {
   
SimpleSAML_Utilities::checkURLAllowed($sid['url']);
}

$state = SimpleSAML_Auth_State::loadState($stateID, 'saml:sp:sso');

/* Find authentication source. */
assert('array_key_exists("saml:sp:AuthId", $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);
}
if (!(
$source instanceof sspmod_saml_Auth_Source_SP)) {
    throw new
SimpleSAML_Error_Exception('Source type changed?');
}

$source->startSSO($_REQUEST['idpentityid'], $state);