liblynx-llc / liblynx-connect-php
LibLynx Connect 身份和访问管理 API 的 PHP 客户端
Requires
- php: ~7.0
- guzzlehttp/guzzle: ^6.3
- kamermans/guzzle-oauth2-subscriber: ^1.0
- kevinrob/guzzle-cache-middleware: ^3.2
- psr/log: ^1.0
- psr/simple-cache: ^1.0
Requires (Dev)
- phpunit/phpunit: >=5.4.3
- squizlabs/php_codesniffer: ^2.3
- symfony/cache: ^3.4
Suggests
- psr/log-implementation: A PSR-3 compatible logger is recommended for troubleshooting
- psr/simple-cache-implementation: This library requires a PSR-16 compatible cache system
This package is not auto-updated.
Last update: 2024-09-15 05:54:52 UTC
README
这是一个 LibLynx Connect 身份和访问管理 API 的 PHP 客户端库。该 API 允许发布者控制对电子资源的访问,而不必关心所使用的方法,例如 IP、Shibboleth、SAML、OpenID Connect 等。
此库是开源的,但访问 API 需要与 LibLynx 签订商业协议 - 请通过 info@liblynx.com 联系我们讨论您的需求。
安装
通过 Composer
$ composer require liblynx-llc/liblynx-connect-php
设置 API 凭据
为了使用此库,您需要从 LibLynx 获取 API 客户端 ID 和客户端密钥。这些可以通过以下两种方式之一传递给 API 客户端:
通过环境变量设置 API 凭据
您可以通过设置以下环境变量来避免在代码中放置凭据:
- LIBLYNX_CLIENT_ID
- LIBLYNX_CLIENT_SECRET
通过代码设置 API 凭据
或者,您可以直接设置凭据,例如:
$liblynx=new Liblynx\Connect\Client; $liblynx->setCredentials('your client id', 'your client secret');
缓存
为了尽可能高效地工作,客户端缓存 API 响应,如入口资源。任何 PSR-16 兼容的缓存都可以使用,例如 symfony/cache
对于测试,您可以使用 symfony/cache 中的 ArrayCache
- 按照以下方式安装:
$ composer require symfony/cache
然后按照以下方式创建和使用一个 ArrayCache
:
$cache=new \Symfony\Component\Cache\Simple\ArrayCache; $liblynx->setCache($cache);
诊断日志记录
通过传递 PSR-3 兼容的记录器到客户端,可以获取有关 API 使用情况的详细信息。此包包括一个有用的 DiagnosticLogger
类,可以用于存储日志然后输出到控制台或 HTML。
$logger = new \LibLynx\Connect\DiagnosticLogger; $liblynx->setLogger($logger);
示例
简单的集成涉及从当前请求的超级全局数据中获取一个账户
try { $identification = $liblynx->authorize(IdentificationRequest::fromArray($_SERVER)); if ($identification->isIdentified()) { //visitor is identified, you can now check their access rights } elseif ($identification->requiresWAYF()) { //to find our who the visitor is, redirect to WAYF page $url = $identification->getWayfUrl(); header("Location: $url"); exit; } else { //liblynx failed - check diagnostic logs } } catch (LibLynx\Connect\Exception\LibLynxException $e) { //exceptions are throw for API failures and erroneous integrations throw $e; }
请参阅 examples
文件夹中的其他示例
examples\example.php
是一个控制台应用程序,提示输入 IP 和 URL 执行身份验证。
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
测试
$ composer test
贡献
有关详细信息,请参阅 CONTRIBUTING
安全
如果您发现任何与安全相关的问题,请通过电子邮件 security@liblynx.com 而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件