feeria/php-frejaeid

Freja eID API PHP集成包。由DSorlov/phpFreja原创开发。

dev-main 2021-08-14 11:18 UTC

This package is auto-updated.

Last update: 2024-09-14 17:48:21 UTC


README

简单的PHP包装,用于从Freja eID REST API 获取信息,适用于测试和生产环境。

  • 支持JWS验证,但需要外部库(感谢php-jws)。
  • 支持定向和推断认证,适用于二维码和应用程序。
  • 支持认证和签名API,但不支持断言服务。
  • 支持在数组中获取特定数据可用数据
  • 表现良好的函数不会抛出异常(至少不是设计上的),但总是返回对象以简化处理。

要设置测试环境和基本协议,请阅读Freja eID 网站上的信息。

安装

要在项目命令行中运行安装,请输入以下命令:composer require feeria/php-frejaeid

快速入门

use Feeria\PhpFrejaeid\PhpFrejaeid;

// Create FrejaeID API Instance
$frejaApi = new PhpFrejaeid(
  'path_to_your_pfx_certificate.pfx',
  'your_password',
  false, // production mode
);

// Initialize the authorization
$authResponse = $frejaApi->initAuthentication(
  'EMAIL',
  'FREJAEID_USER_EMAIL',
  'BASIC',  // auth level, can be BASIC, EXTENDED, PLUS
  [
    'EMAIL_ADDRESS',
    // and any another from official docs
  ]
);

// Return user data
if ($authResponse->success)
    $authStatus = $frejaApi->checkAuthentication($authResponse->authRef);

    return $authStatus; // all user data from FrejaeID

创建二维码URL

$qrInfo = $frejaAPI->createAuthQRCode();

if ($qrInfo->success)
    $imageUrl = $qrInfo->url;

初始化、监控和取消认证请求

$authResponse = $frejaAPI->initAuthentication('EMAIL','youremail@yourserver.com');

if ($authResponse->success)
    $authStatus = $frejaAPI->checkAuthRequest($authResponse->authRef);

$frejaAPI->cancelAuthentication($authResponse->authRef);

初始化、监控和取消签名请求

$signResponse = $frejaAPI->initSignatureRequest('EMAIL','youremail@yourserver.com','Testsign','This is the agreement text');

if ($signResponse->success)
    $signStatus = $frejaAPI->checkSignatureRequest($signResponse->signRef);

$frejaAPI->cancelSignatureRequest($authResponse->signRef);