围产医学 / hub-client-php
v2.0.0
2023-03-10 09:08 UTC
Requires
- php: >=7.2.5
- guzzlehttp/guzzle: ^7.0
- guzzlehttp/psr7: ^2.4
- psr/http-message: ^1.0
Requires (Dev)
- symfony/dotenv: ^5.4 || ^6.0
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文件