openid/php-openid

此软件包已被废弃,不再维护。没有建议的替代软件包。

PHP5的OpenID库

3.0.3 2020-11-20 17:46 UTC

This package is not auto-updated.

Last update: 2023-08-03 05:39:49 UTC


README

这是JanRain, Inc.的PHP OpenID库。您可以访问我们的网站了解更多关于此软件包和其他OpenID实现和工具的信息

http://www.openidenabled.com/

入门

首先,从命令行或通过Web运行examples/detect.php脚本。它将生成一份报告,列出运行库所需的所有系统配置更改。

安装

使用此库需要PHP 5.6.0或更高版本

按照以下步骤操作

  1. 安装依赖项。

    • 启用GM P扩展或Bcmath扩展(强烈推荐GMP,因为它要快得多!)。这是必需的。

    • 启用CURL扩展

    • 如果您计划使用SQLite、PostgreSQL或MySQL来存储OpenID数据,则需要安装PEAR MDB2。您可以以root身份运行以下命令进行安装

      pear install MDB2

      您还需要安装并启用适当的PHP数据库扩展。或者,您可以将OpenID数据存储在文件系统中,而不是使用关系数据库。使用文件系统方法不需要特殊要求。

    • 安装DOM或domxml PHP XML处理扩展之一,但不能同时安装两者(它们不兼容)。

  2. 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位于:

https://www.phpdoc.org/

贡献

如果您有想要贡献的bug修复或功能,请毫不犹豫地发送给我们。将您的补丁发布到开发列表:

https://openid.net/developers/dev-mailing-lists/

有关如何贡献的更详细信息,请参阅:

http://openidenabled.com/contribute/

要运行本包包含的测试套件,请安装PHPUnit 1.x并运行:

php admin/texttest.php

PHPUnit 1.x可以在以下位置找到:

http://pear.phpunit.de/get/