系统集成做一个日志服务器,如何将简单的openid与我网站现有的日志系统集成?...

我认为您最好的选择是使用Zend Framework中的OpenID模块。它可以单独使用,而不必使用整个框架,并且它们对如何使用它有一个相当简单的解释on their manual pages。这很简单(如果您理解OpenID的概念):

login_page.php:

// Load the library Zend Framework way, or load it yourself...

// Always good to pick apart the library anyway, to see how it works:

Zend_Loader::loadClass('Zend_OpenId');

$consumer = new Zend_OpenId_Consumer();

if(!$consumer->login($_POST['openid_identifier'], 'redirect_to.php'))

{

die('OpenID login failed.');

}

redirect_to.php:

Zend_Loader::loadClass('Zend_OpenId');

$consumer = new Zend_OpenId_Consumer();

if($consumer->verify($_GET, $id))

{

echo htmlspecialchars($id).' is a valid ID.';

}

else

{

// redirect to "login.php?login=failed".

if(!headers_sent())

{

header('HTTP/1.1 307 Temporary Redirect', true, 307);

header('Location: login.php?login=failed');

}

else die('Invalid ID.');

}

编辑: 如何实施Zend_OpenId(以回应评论)。

下载latest Zend Framework,然后解压缩文件夹ZendFramework-1.9.2/library/Zend/OpenId。

但是你需要做一些事情:

将[...]/OpenId/Exception.php中的类扩展值从Zend_Exception更改为Exception。

浏览每个文件(我知道这很繁琐)并将所有需求和include包括在绝对路径名中。

醇>

现在您可以通过以下方式引用这些类:

require_once '/path/to/OpenId/Consumer.php';

$consumer = new Zend_OpenId_Consumer();

// If you plan on making your own OpenID's, use 'Provider' instead of 'Comsumer'.

require_once '/path/to/OpenId/Provider.php';

$provider = new Zend_OpenId_Provider();

现在,我能给你的最好的建议是阅读手册!不要指望它第一次工作...... Zend的实现可能更容易,但这并不能阻止OpenID成为痛苦的屁股!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值