也许这是有帮助的
与Zend\u控制器集成
最后说了几句关于
集成到模型视图控制器中
应用:如Zend框架
Zendèu控制器类,它们使用
目标
Zend\u控制器\u响应\u Http类
准备HTTP响应并发送它们
返回用户的web浏览器。
Zend\u OpenId\u消费者不提供
任何GUI功能,但它执行
HTTP重定向成功
Zend\u OpenId\u Consumer::登录并
Zend\u OpenId\u Consumer::检查。这些
如果已经有了一些数据,那就不需要了
发送到web浏览器。适当地
在MVC代码中执行HTTP重定向
应发送到
Zend\u OpenId\u Consumer::检查为
最后一个论点。
zend.openid.consumer
一点问题都没有
我的行动
public function openidAction() {
$this->view->status = "";
if ($this->getRequest()->isPost()) {
$consumer = new Zend_OpenId_Consumer();
if (!$consumer->login($this->getRequest()->getParam('openid_identifier'))) {
$this->view->status = "OpenID login failed.";
}
} else if ($this->getRequest()->getParam('openid_mode')) {
if ($this->getRequest()->getParam('openid_mode') == "id_res") {
$consumer = new Zend_OpenId_Consumer();
if ($consumer->verify($this->getRequest()->getParams(), $id)) {
$this->view->status = "VALID " . htmlspecialchars($id);
} else {
$this->view->status = "INVALID " . htmlspecialchars($id);
}
} else if ($_GET['openid_mode'] == "cancel") {
$this->view->status = "CANCELLED";
}
}
}
<p><?php echo "{$this->status}" ?></p>
<form method="post">
<fieldset>
<legend>OpenID Login</legend>
<input type="text" name="openid_identifier" value=""/>
<input type="submit" name="openid_action" value="login"/>
</fieldset>
</form>