2013-06-03 53 views
0

我測試,並在這裏學習PHP的OpenID庫:https://github.com/openid/php-openidphp-openid庫不返回SREG屬性?

我下載整個包並上傳實例/消費者http://www.example.com/openid並上傳AUTH以http://www.example.com/Auth,因爲我的網站只需要一個依賴方。

當我和我的OpenID的一個測試,它顯示它的正常工作「您已經成功驗證爲XXXXX爲您的身份。」

但是,它不返回任何SREG屬性,如電子郵件地址或姓名其中我openid配置文件確實有這些信息。

我沒有做任何改變任何消費者示例文件(的index.php,try_auth.php,finish_auth.php,也不是的common.php),所以代碼如下所示:

在try_auth .PHP:

$sreg_request = Auth_OpenID_SRegRequest::build(
           // Required 
           array('nickname'), 
           // Optional 
           array('fullname', 'email')); 

if ($sreg_request) { 
    $auth_request->addExtension($sreg_request); 
} 

在finish_auth.php:

$sreg = $sreg_resp->contents(); 

if (@$sreg['email']) { 
    $success .= " You also returned '".escape($sreg['email']). 
     "' as your email."; 
} 

if (@$sreg['nickname']) { 
    $success .= " Your nickname is '".escape($sreg['nickname']). 
     "'."; 
} 

if (@$sreg['fullname']) { 
    $success .= " Your fullname is '".escape($sreg['fullname']). 
     "'."; 
} 

我想:

$sreg = $sreg_resp->contents(); 
print_r($sreg); 

但它原來是一個空數組:

Array 
(
) 

我嘗試:

這一切都以$ sreg的空數組結束。

我想它使用AX而不是SREG lightopenid:

  • 接觸/電子郵件
  • namePerson

而且他們回到正確的價值觀。

那麼我該如何讓php-openid庫返回我需要的屬性呢?

回答

0

提供者是否實際返回了SREG屬性?什麼是您從try_auth.php發送的HTTP響應?您在finish_auth.php上收到的HTTP請求是什麼?