2014-12-11 41 views
6

Po pobycie w całym Internecie, szczególnieRequestera/InvalidNameIDPolicy Błąd simpleSAMLphp SP i ADFS IDP

Próbowałem wszystkie proponowane modyfikacje authsource .php i metadane php. Nic nie działało.

Oto moja authsource.php

'default-sp' => array(
    'saml:SP', 
    'privatekey' => 'saml.pem', 
    'certificate' => 'saml.crt', 
    'idp' => 'http://domain.com/adfs/services/trust', 

użyłem XML to simpleSAMLphp metadata converter wygenerować saml20-idp-remote.php

Więc kiedy dostęp do strony, simpleSAMLphp prawidłowo przekierowuje mnie do strony logowania IDP. Dekodowałem żądanie SAML:

<samlp:AuthnRequest 
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" 
    ID="_4e03333c7aa76314d965e05f8fcdd3e1f4c5be96c8" 
    Version="2.0" 
    IssueInstant="2014-12-11T19:41:50Z" 
    Destination="https://domain.com/adfs/ls/" 
    AssertionConsumerServiceURL="https://sub.domain.com/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp" 
    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"> 

    <saml:Issuer> 
     https://su.bdomain.com/simplesaml/module.php/saml/sp/metadata.php/default-sp 
    </saml:Issuer> 
    <samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" AllowCreate="true"/> 

</samlp:AuthnRequest> 

Po zalogowaniu się przy użyciu ważnego konta testowego, zostaje on przekierowany z powrotem do mojej witryny z błędem.

SimpleSAML_Error_Error: UNHANDLEDEXCEPTION 
Backtrace: 
0 /var/www/html/igt_s3k/web/simplesamlphp/www/module.php:179 (N/A) 
Caused by: sspmod_saml_Error: Requester/InvalidNameIDPolicy 
Backtrace: 
3 /var/www/html/igt_s3k/web/simplesamlphp/modules/saml/lib/Message.php:385 (sspmod_saml_Message::getResponseError) 
2 /var/www/html/igt_s3k/web/simplesamlphp/modules/saml/lib/Message.php:495 (sspmod_saml_Message::processResponse) 
1 /var/www/html/igt_s3k/web/simplesamlphp/modules/saml/www/sp/saml2-acs.php:96 (require) 
0 /var/www/html/igt_s3k/web/simplesamlphp/www/module.php:134 (N/A) 

Próbowałem ustawić różne NameIDPolicy, ale żaden z nich nie działał.

//'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress', 
    //'NameIDPolicy' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient', 
    //'NameIDPolicy' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent', 
    //'NameIDPolicy' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified', 

Dzięki!

+0

I Wystąpił podobny błąd dotyczący "store.type" => "memcache", zamiast phpsession – Asdrubal

Odpowiedz

18

Tak. W napadzie złości i frustracji. Ustawię NameIDPolicy na wartość null i wszystko działa. FML

'default-sp' => array(
    'saml:SP', 
    'privatekey' => 'saml.pem', 
    'certificate' => 'saml.crt', 
    'idp' => 'http://comain.com/adfs/services/trust', 
    'NameIDPolicy' => null, 
+0

dziękuję. to też doprowadzało mnie do szału. –

+0

@YarGnawh Właśnie uratowałeś mi tyle czasu i energii! Dziękuję bardzo! Działa z wtyczką Moodle/saml2 Auth, jeśli ktoś uderza w to samo miejsce co ja. – Caperneoignis

+1

Wielkie dzięki. Ten błąd nadal istnieje w najnowszym simplesamlphp na github czerwiec 2016 – Phil