首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php-openid库不返回SREG属性?

php-openid库不返回SREG属性?
EN

Stack Overflow用户
提问于 2013-06-03 04:43:50
回答 1查看 101关注 0票数 0

我正在这里测试和学习php-openid库:https://github.com/openid/php-openid

我下载了整个软件包,并将示例/消费者上传到http://www.example.com/openid,还将8月上传到http://www.example.com/Auth,因为我的网站只需要成为依赖方。

当我用一个openid测试它时,它工作正常,它显示“您已经成功地验证了xxxxx作为您的身份”。

但是,它不返回任何SREG属性,如电子邮件或名称,而我的openid配置文件确实包含这些信息。

我没有对任何消费者示例文件(index.php、try_auth.php、finish_auth.php或common.php)做任何更改,因此代码如下所示:

在try_auth.php中:

代码语言:javascript
复制
$sreg_request = Auth_OpenID_SRegRequest::build(
                                 // Required
                                 array('nickname'),
                                 // Optional
                                 array('fullname', 'email'));

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

在finish_auth.php中:

代码语言:javascript
复制
$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']).
        "'.";
}

我试过:

代码语言:javascript
复制
$sreg = $sreg_resp->contents();
print_r($sreg);

但结果却是一个空数组:

代码语言:javascript
复制
Array
(
)

我试过:

最后是一个空的$sreg数组。

我尝试了lightopenid,它使用AX而不是SREG:

  • 联系/电子邮件
  • namePerson

他们正确地返回了这些值。

那么,如何使php-openid库返回我需要的属性呢?

EN

回答 1

Stack Overflow用户

发布于 2013-06-06 14:38:59

提供者是否实际返回SREG属性?您从try_auth.php发送的HTTP响应是什么?您在finish_auth.php上收到的HTTP请求是什么?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16890105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档