This is a PHP library for communicating with the Certification Centre's DigiDocService API. The API is SOAP-based, documentation is available here.
Via Composer
$ composer require bigbank/digidoc
The library requires PHP >=5.6
, curl
, soap
, xml
, mbstring
and openssl
extensions.
// Instantiate the main class
$digiDoc = new DigiDoc(DigiDoc::URL_TEST);
// Ask for a service (see: Services)
/** @var AuthenticatorInterface $authenticator */
$authenticator = $digiDoc->getService(AuthenticatorInterface::class);
// Start mobile ID authentication
$userDetails = $authenticator->authenticate('14212128025', '+37200007', 'Testimine', 'My Test App', false);
// Wait for the user to complete the process
$authenticator->waitForAuthentication(function ($authResult) {
return $authResult === 'USER_AUTHENTICATED' ? 'welcome!' : 'not authenticated';
});
More detailed usage examples are provided in the examples directory.
To use a HTTP proxy, set HTTP_PROXY
environment variable.
The library provides access to the following services:
Authenticate the user with his mobile ID.
- Interface Name:
AuthenticatorInterface
- DigiDocService:
7. Queries and Responses for Authentication / 7.1 MobileAuthenticate
See examples/mobile/authentication.php.
Allow users to digitally sign files using mobile ID.
- Interface Name:
FileSignerInterface
- DigiDocService:
8. Queries and Responses for Digital Signature
See examples/mobile/signing.php.
Please see CHANGELOG for more information what has changed recently.
$ composer test
- Challenge verification is not done for authentication queries (see
Challenge
andSPChallenge
parameters forMobileAuthenticate
query). This is planned in future versions.
Please see CONTRIBUTING and CONDUCT for details.
If you discover any security related issues, please email :author_email instead of using the issue tracker.
The Apache 2 License. Please see License File for more information.