我測試,並在這裏學習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
(
)
我嘗試:
- https://www.google.com/accounts/o8/id
- yahoo.com
- ichsie.myopenid.com
這一切都以$ sreg的空數組結束。
我想它使用AX而不是SREG lightopenid:
- 接觸/電子郵件
- namePerson
而且他們回到正確的價值觀。
那麼我該如何讓php-openid庫返回我需要的屬性呢?