0

私はここにあるこの基本的な例を実装しようとしています

「Zend_Authの一部としての使用」というタイトルのセクションの下。

Zend Frameworkバージョン1.10、Apache 2.2.11を使用しており、「CardspaceforFirefox3」拡張機能を備えたFirefoxを使用しています。

ログインページが表示され(ドキュメントの例からコピー)、(カードセレクターから)情報カードを選択して「送信」できますが、戻り時にエラーが発生します。

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を使用していない)のか疑問に思います。

4

1 に答える 1

0

ドキュメントから ( http://framework.zend.com/manual/en/zend.infocard.basics.html#zend.infocard.basics.theory - 下部):

情報カードは、SSL 暗号化された URL に対してのみ HTTP POST できます。SSL 暗号化の設定方法については、Web サーバーのドキュメントを参照してください。

于 2010-07-08T15:29:03.273 に答える