2010-07-08 3 views
0

Я пытаюсь реализовать этот базовый пример нашел here:Zend_Infocard, как часть проверки подлинности Zend

, в разделе «Использование в качестве части Zend_Auth».

У меня есть версия Zend Framework 1.10, Apache 2.2.11, и я использую Firefox с расширением «Карты для Firefox 3».

Приходит страница входа в систему (как показано на примере в документации), и я могу выбрать информационную карту (из селектора карт) и «отправить», но я получаю сообщение об ошибке:

array 
0 => string 'Processing Failure' (length=18) 
1 => string 'Failed to extract assertion document' (length=36) 

В отладки эта ошибка, ошибка вызвана следующими строками кода (где исключение, потому что тип не существует):

В Zend_InfoCard_Xml_EncryptedData-> GetInstance() следующий код существует:

$sxe = simplexml_load_string($strXmlData); 
switch($sxe['Type']) { 
    case 'http://www.w3.org/2001/04/xmlenc#Element': 
     include_once 'Zend/InfoCard/Xml/EncryptedData/XmlEnc.php'; 
     return simplexml_load_string($strXmlData, 'Zend_InfoCard_Xml_EncryptedData_XmlEnc'); 
    default: 
     require_once 'Zend/InfoCard/Xml/Exception.php'; 
     throw new Zend_InfoCard_Xml_Exception("Unknown EncryptedData type found"); 
break; 

Проблема в том, что у меня нет «Тип» в моем xml, когда я выкидываю его.

XML-выглядит примерно так:

<saml:Assertion MajorVersion="1" MinorVersion="1" AssertionID="SamlSecurityToken-9f068262-1b53-5cac-844e-624d589f9373" Issuer="http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self" IssueInstant="2010-07-08T15:08:48.343Z" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"> 

.... и продолжается (со значением подписи и других элементов, но опять же без типа).

Очевидно, что я здесь что-то не так. Интересно, связано ли это с плагином firefox или отсутствием использования SSL (не используя SSL сейчас).

ответ

0

Из документации (http://framework.zend.com/manual/en/zend.infocard.basics.html#zend.infocard.basics.theory - в нижней части):

Note, Информационные карты могут быть только HTTP, публикуемую в SSL-шифрованием URL. Пожалуйста, обратитесь к документации вашего веб-сервера о том, как настроить шифрование SSL.

+0

спасибо. Я установил SSL, но теперь я столкнулся с следующей проблемой, когда Cardpace не работает с сертификатом самооценки. –