- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
任何人都可以将 openid 的简单分步集成发布到已经具有登录系统的站点中吗?
我决定使用 PHP OpenID 2.1.3,但我知道从哪里开始以及要做什么。
最佳答案
我认为最好的选择是使用 Zend Framework 中的 OpenID 模块.它可以单独使用,而不必使用整个框架,并且他们对如何使用它有一个相当简单的解释 on their manual pages .它很简单(如果您了解 OpenID 的概念):
登录页面.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.');
}
它比 php-openid 提供的 PHP OpenID 库 ( OpenID Foundation) 更容易使用。 .
编辑:如何实现 Zend_OpenId(回应评论)。
下载latest Zend Framework ,并提取文件夹 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 成为一个麻烦!
关于php - 如何将简单的 openid 与我站点现有的日志系统集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1420138/
我正在征求一些专家网络开发人员的意见,以找到解决我的问题的最佳方案。 设置 在我的工作中,我负责管理一家基于 osCommerce 的在线商店,该商店具有许多附加功能和调整。这是在 Linux 共享主
全部。 我从事 IVR 开发工作。我当前的项目需要将我们的 IVR 与供应商的 IVR 系统集成。 场景: 对于 IVR 门户,将有一项新功能可以通过 IVR 进行电话付款。所有付款交易均由名为“Pa
我有一个简单地注册用户的系统。我需要将其与 PayPal 集成,这样只有当用户付款后他们才能访问他们的帐户。付款涉及确认每月付款,第一个月免费。我需要使用一些 PayPal API 来通知用户月费,让
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我有一个关于如何将 django 与其他非面向网络的子系统集成的理论问题。我不知道是否可以使用 django 开发此类系统,或者是否有其他最佳替代方案(另一个 Web 框架)。 我提出了一个符合此要求
如何通过Web服务调用spotfire,并使用Java获取pdf报告。 该报告已在 Spotfire 中设置。即,如果人们使用 Spotfire-UI,则可以查看报告。他们可以使用该 UI 手动将其导
我是一名优秀的程序员,十分优秀!