Ошибка SimplesamlPHP

1

Я пытаюсь установить SP и IDP в local, поэтому я создаю другой узел:

127.0.0.1       localhost
::1             localhost
127.0.0.1       auth.saml.net 

и я создаю 2 виртуальных хоста (один для SP, а другой для Idp)

<VirtualHost auth.saml.net:80>
    ServerAdmin [email protected]
    ServerName  auth.saml.net
    AddDefaultCharset UTF-8
    Alias /simplesaml c:/wamp/www/var2/simplesamlphp/www/   
    <Directory c:/wamp/www/var2/simplesamlphp/www/  >
        Order Deny,Allow   
        Allow from all 
    </Directory>
</VirtualHost>

<VirtualHost localhost:80>
    ServerAdmin [email protected]
    ServerName  localhost
    AddDefaultCharset UTF-8
    Alias /simplesaml c:/wamp/www/var/simplesamlphp/www/
</VirtualHost>

(Папка var2 для моего IDP и папка var для моего SP, она не очень чистая, но на самом деле я просто хочу, чтобы она работала)

Во втором я конфигурируйте мой SP и мой idp, отредактировав файл config/config.php в каждой папке (я не забываю включить enable.saml20-idp в true для IDP)

Затем я редактирую файл config/authsources.php из моего idp, и у меня было 2 поддельных пользователя:

'example-userpass' => array(
        'exampleauth:UserPass',
        'user1:pwd' => array(
            'uid' => array('user1'),
            'mail' => '[email protected]',
            'first_name' => 'User',
            'last_name' => 'One'
        ),
        'user2:pwd' => array(
            'uid' => array('user2'),
            'mail' => '[email protected]',
            'first_name' => 'User',
            'last_name' => 'Two'
        )
    )

И я также редактирую файл config/authsources.php на моей части SP:

    'default-sp' => array(
            'saml:SP',
            'entityID' => 'auth.saml.net',
            'idp' => 'auth.saml.net/simplesaml/saml2/idp/metadata.php',
            'ssoPortalUrl'=> 'auth.saml.net/simplesaml/saml2/idp/SSOService.php',
            'discoURL' => null
);

Затем я копирую метаданные из моего IDP (федерация → печатать метаданные → формат файла SimpleSAMLphp) в свой SP в файле "metadata/saml20-idp-remote.php":

$metadata['auth.saml.net/simplesaml/saml2/idp/metadata.php'] = array (
  'metadata-set' => 'saml20-idp-remote',
  'entityid' => 'auth.saml.net/simplesaml/saml2/idp/metadata.php',
  'SingleSignOnService' => 
  array (
    0 => 
    array (
      'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
      'Location' => 'auth.saml.net/simplesaml/saml2/idp/SSOService.php',
    ),
  ),
  'SingleLogoutService' => 
  array (
    0 => 
    array (
      'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
      'Location' => 'auth.saml.net/simplesaml/saml2/idp/SingleLogoutService.php',
    ),
  ),
  'certData' => 'certData',
  'NameIDFormat' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient',
);

и метаданные от моего SP до моего IDP в метаданных файла /saml20-sp-remote.php:

$metadata['auth.saml.net'] = array (
  'SingleLogoutService' => 
  array (
    0 => 
    array (
      'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
      'Location' => 'http://localhost/simplesaml/module.php/saml/sp/saml2-logout.php/default-sp',
    ),
  ),
  'AssertionConsumerService' => 
  array (
    0 => 
    array (
      'index' => 0,
      'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
      'Location' => 'http://localhost/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp',
    ),
    1 => 
    array (
      'index' => 1,
      'Binding' => 'urn:oasis:names:tc:SAML:1.0:profiles:browser-post',
      'Location' => 'http://localhost/simplesaml/module.php/saml/sp/saml1-acs.php/default-sp',
    ),
    2 => 
    array (
      'index' => 2,
      'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact',
      'Location' => 'http://localhost/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp',
    ),
    3 => 
    array (
      'index' => 3,
      'Binding' => 'urn:oasis:names:tc:SAML:1.0:profiles:artifact-01',
      'Location' => 'http://localhost/simplesaml/module.php/saml/sp/saml1-acs.php/default-sp/artifact',
    ),
  ),
);

Но когда я пытаюсь протестировать, щелкнув "тестовые настроенные источники аутентификации", у меня есть это сообщение об ошибке:

Exception during login:
SimpleSAML_Error_Exception: Could not find the metadata of an IdP with entity ID 'auth.saml.net/simplesaml/saml2/idp/metadata.php'
Backtrace:
6 C:\wamp\www\var\simplesamlphp\modules\saml\lib\Auth\Source\SP.php:134 (sspmod_saml_Auth_Source_SP::getIdPMetadata)
5 C:\wamp\www\var\simplesamlphp\modules\saml\lib\Auth\Source\SP.php:308 (sspmod_saml_Auth_Source_SP::startSSO)
4 C:\wamp\www\var\simplesamlphp\modules\saml\lib\Auth\Source\SP.php:390 (sspmod_saml_Auth_Source_SP::authenticate)
3 C:\wamp\www\var\simplesamlphp\lib\SimpleSAML\Auth\Default.php:65 (SimpleSAML_Auth_Default::initLogin)
2 C:\wamp\www\var\simplesamlphp\lib\SimpleSAML\Auth\Simple.php:136 (SimpleSAML_Auth_Simple::login)
1 C:\wamp\www\var\simplesamlphp\modules\core\www\authenticate.php:45 (require)
0 C:\wamp\www\var\simplesamlphp\www\module.php:134 (N/A)

Я уже пытаюсь перестроить конфигурацию с самого начала, но ошибка все еще здесь. И когда я перехожу к ссылке "auth.saml.net/simplesaml/saml2/idp/metadata.php", печать метаданных хорошо.

Теги:
simplesamlphp

2 ответа

1
Лучший ответ

Я ошибаюсь:

  • Во-первых, не используйте localhost для другого virtualHost
  • Во-вторых, вам нужно также создать каталог сертификатов на SP
  • Тирд - самая важная молитва
    перезагрузите его 5 раз, чтобы он работал, и я до сих пор не понимаю, почему он не работает в другое время.
0

config/authsources.php для SP.

'default-sp' => array ('saml: SP', 'idp' => 'auth.saml.net/simplesaml/saml2/idp/metadata.php',

);

  • 0
    Это уже так ... У меня есть это: 'default-sp' => массив ('saml: SP', 'entityID' => 'auth.saml.net', 'idp' => 'auth.saml.net /simplesaml/saml2/idp/metadata.php ',' ssoPortalUrl '=>' auth.saml.net/simplesaml/saml2/idp/SSOService.php ',' discoURL '=> null);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню