diff --git a/lib/SimpleSAML/IdP.php b/lib/SimpleSAML/IdP.php index 958377d6d7d5bece240ef13a76b374d8684159ab..0009af754272ec872d9983c453de887ada594a2f 100644 --- a/lib/SimpleSAML/IdP.php +++ b/lib/SimpleSAML/IdP.php @@ -294,6 +294,19 @@ class SimpleSAML_IdP { 'State' => $state, ); + if (isset($state['saml:RequestId'])) { + $authnRequest['RequestID'] = $state['saml:RequestId']; + } + if (isset($state['SPMetadata']['entityid'])) { + $authnRequest['Issuer'] = $state['SPMetadata']['entityid']; + } + if (isset($state['saml:RelayState'])) { + $authnRequest['RelayState'] = $state['saml:RelayState']; + } + if (isset($state['saml:IDPList'])) { + $authnRequest['IDPList'] = $state['saml:IDPList']; + } + $authId = SimpleSAML_Utilities::generateID(); $session = SimpleSAML_Session::getInstance(); $session->setAuthnRequest('saml2', $authId, $authnRequest);