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

This package is auto-updated.

Last update: 2024-04-26 07:37:26 UTC


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());

    }