Silverstripe - 谷歌连接

时间:2013-04-05 03:17:42

标签: php content-management-system openid silverstripe

我正在尝试使用silverstripe进行谷歌连接/ openid工作,但我收到此错误,我根本不理解它的错误。

[Notice] Trying to get property of non-object
GET /GoogleCallback/GoogleConnect

$ch = curl_init($url);
curl_setopt_array($ch, array(
            CURLOPT_RETURNTRANSFER => true,         
CURLOPT_HTTPHEADER => array( 'Accept: application/xrds+xml')
        ));

    $xml = curl_exec($ch);      
    $xml = simplexml_load_string($xml);
    $discovery = $xml->XRD->Service->URI->__toString();

    curl_close($ch);

    $params = array(
        'openid.mode' => 'checkid_setup',
        'openid.ns' => 'http://specs.openid.net/auth/2.0',

PS:我正在使用这个模块https://github.com/MediaDevils/silverstripe-google-authentication

1 个答案:

答案 0 :(得分:1)

告诉我们哪一行确切地触发了该错误会有所帮助,但我猜它会在

$discovery = $xml->XRD->Service->URI->__toString();

您很可能没有得到预期的XML响应(可能有很多原因,因此模块本身可能不是您问题的根本原因)。例如,你可以转储$ xml变量的内容,以便更多地了解你得到的内容。像

这样的东西
Debug::Dump($xml);
Debug::Dump(curl_error($ch));

在curl_exec($ ch)之后;

希望这有帮助