liblynx-llc/liblynx-connect-php

LibLynx Connect 身份和访问管理 API 的 PHP 客户端

0.2.0-alpha 2018-02-19 09:49 UTC

This package is not auto-updated.

Last update: 2024-09-15 05:54:52 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

这是一个 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)。有关更多信息,请参阅 许可文件