Php 如何将简单的openid与我的站点集成';现有的记录系统是什么?
有人能将openid的简单逐步集成发布到一个已经有登录系统的站点上吗Php 如何将简单的openid与我的站点集成';现有的记录系统是什么?,php,openid,Php,Openid,有人能将openid的简单逐步集成发布到一个已经有登录系统的站点上吗 我决定使用PHP OpenID 2.1.3,但可以从哪里开始,做什么。不,没有简单的指南。有太多的登录系统和不同的实现使得这变得简单和直接 对于特定脚本,请尝试用谷歌搜索。对于任何其他脚本,都必须将OpenID集成到应用程序中。如果你使用MVC,你很幸运:看看用户模型并将OpenID插入其中。我认为你最好的选择是使用来自的OpenID模块。它可以自己使用,而不必使用整个框架,他们对如何使用它有一个相当简单的解释。它非常简单(如
我决定使用PHP OpenID 2.1.3,但可以从哪里开始,做什么。不,没有简单的指南。有太多的登录系统和不同的实现使得这变得简单和直接
对于特定脚本,请尝试用谷歌搜索。对于任何其他脚本,都必须将OpenID集成到应用程序中。如果你使用MVC,你很幸运:看看用户模型并将OpenID插入其中。我认为你最好的选择是使用来自的OpenID模块。它可以自己使用,而不必使用整个框架,他们对如何使用它有一个相当简单的解释。它非常简单(如果您理解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.');
}
将_重定向到.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.');
}
它比由提供的PHP OpenID库()更易于使用
编辑:如何实现Zend_OpenId(回应评论)
下载,并解压缩文件夹ZendFramework-1.9.2/library/Zend/OpenId
但是,您必须做几件事:
[…]/OpenId/Exception.php
中的类扩展值从Zend_Exception
更改为Exception
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成为一个麻烦 我没有使用zend框架。因此,您可以在我的系统中安装或仅包含此openid模块