围产医学/hub-client-php

v2.0.0 2023-03-10 09:08 UTC

README

入门指南

安装依赖项

使用Composer安装PHP依赖项

composer install

示例

设置环境变量

在运行示例之前,请确保已配置以下环境变量

export HUB_URL="http://127.0.0.1:8080"
export HUB_V1_USERNAME=joe
export HUB_V1_PASSWORD=secret
export HUB_V3_USERNAME=joe
export HUB_V3_PASSWORD=secret

Hub v1和v3使用不同的认证方法,因此您可以分别指定它们。

注意,v1凭据也用于访问v1安全散列的提供者资源。

您可以使用一个.env文件,通过将.env.dist复制到.env并使用您的凭据更新它。

运行示例

php examples/v1/getdossierinfo.php {bsn}
php examples/v3/search.php client_bsn=987654321

构建v4 API客户端

v4 API客户端使用从UserBase获取的Json Web Token (JWT) 在Hub上进行身份验证。您通常用于通过Hub进行身份验证的用户名和密码用于通过UserBase进行身份验证并获得JWT。之后,v4客户端以与v3客户端相同的方式进行使用。

use Hub\Client\Exception\ClientCreationException;
use Hub\Client\Exception\ResponseException;
use Hub\Client\Factory\ApiClientFactory;

require_once '/path/to/vendor/autoload.php';

$userbaseUrl = 'http://userbase.example.com/auth';
$hubUrl = 'http://hub.example.com';
$username = 'my-username';
$password = 'my-password';

$clientFactory = new ApiClientFactory($hubUrl);
$clientFactory->setUserbaseJwtAuthenticatorUrl($userbaseUrl);
try {
    $client = $clientFactory->createV4Client($username, $password);
} catch (ClientCreationException $e) {
    // failed to create the client: probably failed to obtain a JWT
    echo $e->getMessage() . PHP_EOL;
    exit();
}
try {
    $resources = $client->findResources();
} catch (ResponseException $e) {
    echo $e->getMessage() . PHP_EOL;
    exit();
}
var_dump($resources);

cacert.pem

对于Guzzle版本> 4,使用curl验证远程SSL连接。为了使其正常工作,您需要向guzzle传递一个verify键,指向包含所有受信任CA的.pem文件。

这些由curl在这里发布

如果需要,您可以从那里下载新的CA证书,并将它们放在此项目的根目录中。

许可证

MIT。请参阅包含的LICENSE.md文件