2016-08-17 1 views
1

Drupal을 사용하여 SimpleSamlPhp (다른 서버에 IdP가 있습니다)를 설정했습니다. "http://localhost:31478/simplesaml/"관리자로 로그인 한 후 IdP로 "인증 소스 테스트"를 실행했는데 정확한 속성이있는 "SAML 2.0 SP Demo Example"화면이 표시되었습니다. 나는 그것이 SimpleSamlPhp와 나의 Idp가 서로를 볼 수 있었고 올바르게 전달되었다는 것을 의미한다고 생각합니다.Drupal 및 simplesamlphp_auth를 사용하여 "IdP의 메타 데이터를 찾을 수 없습니다"

SimpleSAML_Error_Exception: Could not find the metadata of an IdP with entity ID 'tenant2.test.com' in sspmod_saml_Auth_Source_SP->getIdPMetadata() (line 134 of /var/www/vendor/simplesamlphp/simplesamlphp/modules/saml/lib/Auth/Source/SP.php).

설정

  • 드루팔 : 나는 "SimpleSAMLphp를 통해 인증을 활성화"전원을 켠 후 드루팔와 연합 로그인을 사용하려고 할 때

    그러나, 나는 다음과 같은 오류가 발생했습니다 버전은 8입니다.

  • PHP 버전은 5.6.24-0입니다.
  • simplesamlphp_auth 모듈 버전은 8.x-3.0-alpha4 + 2-dev입니다.
  • simplesamlphp_auth 모듈이 설치되어 있고 Drupal에서 활성화되었습니다. simplesamlphp_auth 모듈 구성에 대해 "이 SP의 인증 소스"가 "default-sp"로 설정되었습니다.

내 simplesamlphp 디렉토리가/var에 있습니다. 다음과 같은 변경이 가능하게하기 위해 만들어졌다 SAML

/var/simplesamlphp/config/config.php


    'baseurlpath' => 'simplesaml/', 
    .... 
    'enable.saml20-sp' => true, 
    'enable.saml20-idp' => true, 
    'enable.shib13-idp' => false, 
    'enable.adfs-idp' => false, 
    'enable.wsfed-sp' => false, 
    'enable.authmemcookie' => false, 
    .... 
    'saml' => TRUE, 
    .... 
    .... 
    'default-saml20-idp' => 'tenant2.test.com', 
    .... 
    'store.type'     => 'memcache', 
    .... 
    .... 
    'memcache_store.servers' => array(
     array(
      array('hostname' => 'localhost'), 
     ), 
    ), 
    'memcache_store.prefix' => 'SimpleSAMLphp', 
    .... 
    .... 
    'trusted.url.domains' => array('localhost:31478'), 

/var/simplesamlphp/config/authsources.php


    <?php 
    $config = array(
     'admin' => array(
     'core:AdminPassword', 
     ), 

     'default-sp' => array(
      'saml:SP', 
     'privatekey' => 'saml.pem', 
     'certificate' => 'saml.crt',  
     'entityID' => null, 
     'idp' => 'tenant2.test.com', 
     'discoURL' => null, 
    ), 

    ); 

/var/simplesamlphp/metadata/saml20-idp-remote.php


    <?php 
     $metadata['tenant2.test.com'] = array(
      'SingleSignOnService' => 'https://tenant2.test.com/testSamlLogin', 
      'AssertionConsumerService' => 'http://localhost:31478/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp', 
      'SingleLogoutService' => 'https://tenant2.test.com/admin/logout', 
      'certFingerprint'  => '0a89aec59bf48e414ec050f6956891cb3f5b09a0', 
     ); 

저는 며칠 동안이 문제를 해결하기 위해 노력해 왔습니다. 내가 놓친 게 있니?

감사합니다.

+0

답변을 찾았습니까? 나는 같은 문제에 직면 해있다. – Rahul

답변

0

'entityID'에 대해 tenant2.test.com을 null 위치에 넣으려고 했습니까?

관련 문제