openid / php-openid
PHP5的OpenID库
Requires
- php: >=5.6
- ext-curl: *
- ext-dom: *
- ext-gmp: *
This package is not auto-updated.
Last update: 2023-08-03 05:39:49 UTC
README
这是JanRain, Inc.的PHP OpenID库。您可以访问我们的网站了解更多关于此软件包和其他OpenID实现和工具的信息
入门
首先,从命令行或通过Web运行examples/detect.php
脚本。它将生成一份报告,列出运行库所需的所有系统配置更改。
安装
使用此库需要PHP 5.6.0或更高版本
。
按照以下步骤操作
-
安装依赖项。
-
启用
GM P扩展或Bcmath扩展
(强烈推荐GMP,因为它要快得多!)。这是必需的。 -
启用
CURL扩展
。 -
如果您计划使用SQLite、PostgreSQL或MySQL来存储OpenID数据,则需要安装
PEAR MDB2
。您可以以root身份运行以下命令进行安装pear install MDB2
您还需要安装并启用适当的PHP数据库扩展。或者,您可以将OpenID数据存储在文件系统中,而不是使用关系数据库。使用文件系统方法不需要特殊要求。
-
安装
DOM或domxml PHP XML处理扩展
之一,但不能同时安装两者(它们不兼容)。
-
-
将
Auth/
目录复制到您的PHP包含路径中。
测试您的设置
您可以使用示例代码来测试您的设置。要运行示例消费者或服务器,请遵循examples/README.md
文件中的说明。
使用API
开始使用API的最佳方式是查看examples/
目录中的示例消费者和服务器。有关更多详细信息,请参阅examples/README.md
文件。
故障排除
-
如果您无法使用库中的OpenID URL,您可以尝试使用发现工具(
examples/discover.php
)。此工具将对标识符执行OpenID发现,并给出发现的OpenID服务及其类型的列表。 -
在某些系统中,基于PHP的
basedir
限制阻止Web服务器打开随机数源,如/dev/urandom
。如果您的PHP OpenID库在获取满意的随机数源时遇到问题,请检查您的Apache和PHP配置,确保随机数源在open_basedir
选项允许的路径列表中。 -
在某些情况下,GMP数学库中的错误会导致使用此库时签名验证错误。由于GMP比bcmath(为了性能)更受青睐,您必须在导入库代码之前在您的应用程序中定义
Auth_OpenID_BUGGY_GMP
。
define('Auth_OpenID_BUGGY_GMP', true);
- 并非所有PHP安装都支持SSL。您可以通过阅读
examples/detect.php
输出中的“HTTP获取”部分来了解您的安装是否支持SSL。如果您的安装不支持SSL,则库将不支持https://
身份URL和服务器URL。尝试使用此类身份URL将相当于使用无效的OpenID。要启用SSL支持,请使用OpenSSL支持重新编译PHP或为您的平台安装适当的OpenSSL模块。如果您使用CURL,则需要使用OpenSSL支持构建CURL。
获取帮助
如果您有任何问题、建议或补丁,请告诉我们!请订阅我们的OpenID开发讨论列表:
https://openid.net/developers/dev-mailing-lists/
文档
您可以在doc/
目录中查看HTML库文档。
本包的文档采用PhpDoc格式。要生成文档,请安装phpdoc并运行admin/makedoc.sh脚本。Phpdoc位于:
贡献
如果您有想要贡献的bug修复或功能,请毫不犹豫地发送给我们。将您的补丁发布到开发列表:
https://openid.net/developers/dev-mailing-lists/
有关如何贡献的更详细信息,请参阅:
http://openidenabled.com/contribute/
要运行本包包含的测试套件,请安装PHPUnit 1.x并运行:
php admin/texttest.php
PHPUnit 1.x可以在以下位置找到: