function _saml_sp__extract_inbound_id in SAML Service Provider 7.2
Same name and namespace in other branches
- 8.3 saml_sp.module \_saml_sp__extract_inbound_id()
- 8.2 saml_sp.module \_saml_sp__extract_inbound_id()
- 7.8 saml_sp.module \_saml_sp__extract_inbound_id()
- 7 saml_sp.module \_saml_sp__extract_inbound_id()
- 7.3 saml_sp.module \_saml_sp__extract_inbound_id()
- 4.x saml_sp.module \_saml_sp__extract_inbound_id()
- 3.x saml_sp.module \_saml_sp__extract_inbound_id()
Extract the unique ID in an inbound request.
Parameters
String $assertion: UUEncoded SAML assertion from the IdP (i.e. the POST request).
Return value
String|FALSE The unique ID of the inbound request, if it can be decoded. This will be OneLogin_Saml_AuthRequest::ID_PREFIX, followed by a sha1 hash.
1 call to _saml_sp__extract_inbound_id()
- saml_sp__endpoint in ./
saml_sp.pages.inc - Page callback to complete the SAML authentication process. This is the consumer endpoint for all SAML authentication requests.
File
- ./
saml_sp.module, line 788 - SAML Service Provider
Code
function _saml_sp__extract_inbound_id($assertion) {
// Decode the request.
$xml = base64_decode($assertion);
// Load the XML.
$document = new DOMDocument();
if ($document
->loadXML($xml)) {
try {
$id = @$document->firstChild->attributes
->getNamedItem('InResponseTo')->value;
watchdog('saml_sp', 'SAML login attempt with inbound ID: %id<br/>XML => <br/><pre>@xml</pre>', array(
'%id' => $id,
'@xml' => $xml,
));
return $id;
} catch (Exception $e) {
watchdog('saml_sp', 'Could not extract inbound ID. %exception', array(
'%exception' => $e,
));
return FALSE;
}
}
return FALSE;
}