adrenth / raindrop-sdk
This package is abandoned and no longer maintained.
No replacement package was suggested.
Hydro Raindrop SDK
1.2.0
2018-08-02 16:52 UTC
Requires
- php: ^7.0
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- illuminate/support: ^5.5
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^6.0
README
This package provides a suite of convenience functions intended to simplify the integration of Hydro's Raindrop authentication into your project. More information, including detailed API documentation, is available in the Raindrop documentation.
Raindrop comes in two flavors:
Client-side Raindrop
Client-side Raindrop is a next-gen 2FA solution. Hydro has open-sourced the code powering Client-side Raindrop.
Server-side Raindrop
Server-side Raindrop is an enterprise-level security protocol to secure APIs and other shared resources. Hydro has open-sourced the code powering Server-side Raindrop.
Installation instructions
composer require adrenth/raindrop-sdk
Usage example
require __DIR__ . '/../vendor/autoload.php';
$clientId = '...';
$clientSecret = '...';
$applicationId = '...';
$settings = new \Adrenth\Raindrop\ApiSettings(
$clientId,
$clientSecret,
new \Adrenth\Raindrop\Environment\SandboxEnvironment
);
// Create token storage for storing the API's access token.
$tokenStorage = new \Adrenth\Raindrop\TokenStorage\FileTokenStorage(__DIR__ . '/token.txt');
// Ideally create your own TokenStorage adapter.
// The shipped FileTokenStorage is purely an example of how to create your own.
/*
* Client-side calls
*/
$client = new \Adrenth\Raindrop\Client($settings, $tokenStorage, $applicationId);
// (Un)register a user by it's Hydro ID
$client->registerUser($hydroId);
$client->unregisterUser($hydroId);
// Generate 6 digit message
$message = $client->generateMessage();
// Verify signature
$client->verifySignature($hydroId, $message);
/*
* Server-side calls
*/
$server = new \Adrenth\Raindrop\Server($settings, $tokenStorage);
$server->whitelist('0x..'); // Provide ETH address
$server->challenge('41579b51-c365-406e-86a8-3839fcad576f');
$server->authenticate('41579b51-c365-406e-86a8-3839fcad576f');