【发布时间】:2010-07-28 15:43:22
【问题描述】:
我正在使用 Zend_OpenId_Consumer 提供 OpenID 访问,登录工作正常,但是当我调用 verify() 时,我收到了错误
`Wrong openid.return_to 'http://[host]/user/openid' != 'http://[host]/user/openid?[OpenIdResponse]
据我所知,问题在于验证方法是将不带查询部分的 URL 与包含所有 OpenID 响应信息的整个 URL 进行比较。它从Zend_OpenId::selfUrl()获取此网址
我正在使用文档页面中的验证码
$consumer = new Zend_OpenId_Consumer();
if($this->_request->getParam('openid_mode')) {
$id = $this->_request->getParam('openid_claimed_id');
if($this->_request->getParam('openid_mode') == 'id_res') {
if($consumer->verify($this->_request->getParams(),$id)) {
$status = 'VALID ' . $id;
}
else {
$status = 'INVALID ' . $id;
}
}
elseif($this->_request->getParam('openid_mode') == 'cancel') {
$status = 'CANCELLED';
}
}
我在这里做错了吗?
【问题讨论】:
标签: php zend-framework openid