Интеграция SimpleSAMLPHP в приложение

Я пытаюсь интегрировать simpleSAMLphp с моим приложением Symfony. Мой поставщик услуг является внешним приложением. Мое приложение работает как поставщик удостоверений.

Я настроил simpleSAMLphp так, чтобы он возвращал некоторые атрибуты без проверки аутентификации. Я не знаю, как инициировать запрос idp из моего приложения, поэтому я просто скопировал следующую копию из saml2/idp/SSOService.php.

require_once('ServiceProvider/ssp/www/_include.php');

\SimpleSAML_Logger::info('SAML2.0 -...e');


$metadata = \SimpleSAML_Metadata_MetaDataStorageHandler::getMetadataHandler();

$_GET['spentityid']='https://saml.serviceprovider.example.com';

$idpEntityId = $metadata->getMetaDataCurrentEntityID('saml20-idp-hosted');

$idp = \SimpleSAML_IdP::getById('saml2:' . $idpEntityId);

\sspmod_saml_IdP_SAML2::receiveAuthnRequest($idp);


assert('FALSE');

Но выдает ошибку

in /lib/SAML2/Binding.php at line 95        
            throw new Exception('Unable to find the current binding.');

at SAML2_Binding ::getCurrentBinding () modules/saml/lib/IdP/SAML2.php at line 285 
at sspmod_saml_IdP_SAML2 ::receiveAuthnRequest (object(SimpleSAML_IdP))

Кто-нибудь знает, как инициировать запрос idp из приложения?


person Mohammed H    schedule 18.09.2012    source источник


Ответы (1)


API задокументирован в справочнике по SP API.

Мы начинаем с загрузки файла, который регистрирует классы simpleSAMLphp с помощью автозагрузчика. Настройте путь так, чтобы он указывал на ваш каталог ssp (зависит от того, где находится ваше приложение).

require_once('../../lib/_autoload.php');

Мы выбираем наш источник аутентификации. Замените ldap-auth на выбранный вами источник аутентификации.

$as = new SimpleSAML_Auth_Simple('ldap-auth');

Затем мы требуем аутентификации:

$as->requireAuth();

И распечатайте атрибуты:

$attributes = $as->getAttributes();
print_r($attributes);

Также доступны другие варианты. Ознакомьтесь с документацией по справочнику по SP API, чтобы получить список всех параметры.

person Andreas Åkre Solberg    schedule 24.09.2012