blackit / privyid
There is no license information available for the latest version (v1.2.0) of this package.
Privy ID Integration for Laravel
v1.2.0
2020-02-03 01:55 UTC
Requires
- guzzlehttp/guzzle: ^6.3@dev
README
Package to integrate PrivyID with Laravel Application
Installation
To install you using composer
composer require blackit/privyid
Setup
Publish migration and config
publish the application using
php artisan vendor:publish --provider="BlackIT\PrivyID\PrivyIDServiceProvider"
php artisan migrate
Set Enviroment Variable
setting your enviroment variable
PRIVYID_PRODUCTION=false PRIVYID_USER=username PRIVYID_PASSWORD=password PRIVYID_MERCHANT_KEY=merchankey PRIVYID_SANDBOX_USER=usernamesandbox PRIVYID_SANDBOX_PASSWORD=passwordsandbox PRIVYID_SANDBOX_MERCHANT_KEY=merchantsandbox PRIVYID_SANDBOX_OWNER=ownercode PRIVYID_SANDBOX_OWNER_ENTERPRISE_TOKEN=enterprisetoken PRIVYID_CLIENT_ID=clientid PRIVYID_SECRET_KEY=secretkey PRIVYID_OWNER=ownercode PRIVYID_OWNER_ENTERPRISE_TOKEN=enterprisetoken
Clear config cachee
php artisan config:clear
Set config/app.php
return [ ... 'providers' => [ ... \BlackIT\PrivyID\PrivyIDServiceProvider::class ], ... 'aliases' => [ ... 'File' => Illuminate\Support\Facades\File::class, 'PrivyID' => \BlackIT\PrivyID\PrivyIDFacade::class, ], ];
Usage
Using PrivyIDAble in your Model for example User
namespace App; use BlackIT\PrivyID\PrivyIDAble; class User { use PrivyIDAble; ... }
Add Button to Bind
<a href="{{ PrivyID::getOAuthLink() }}">Bind Digital Signature</a>
Set you callback
namespace App\Http\Controllers; use App\User; use BlackIT\PrivyID\PrivyID; use Illuminate\Http\Request; class DigitalSignatureController extends Controller { public function privyid(Request $request) { $code = $request->input('code'); if ($code != '') { /** * @var $user User */ $user = \Auth::user(); try { $user->bind($code); } catch (\Exception $e) { \Toast::error('Gagal integrasi dengan Privy ID silahkan klik tombol bind kembali'); } } } }
Get Identity and Update Identity
public function getIdentity(Request $request) { $user = Auth::user(); $user->updateIdentity(); $identity = $user->privyid(); ... }
Upload Document
public function uploadDocument(Request $request) { $user = Auth::user(); ... $recipientBuilder = new PrivyIDRecipientBuilder(); $recipientBuilder->addRecipient('PRIVYID', 'Signer'); $checkUploadPrivy = $user->uploadDocument('CODE Document', 'Title Document', 'Parallel/Serial', 'File Location', $recipientBuilder->output()); }