blackit / privyid

此包的最新版本(v1.2.0)没有可用的许可证信息。

Privy ID 集成于 Laravel

v1.2.0 2020-02-03 01:55 UTC

This package is auto-updated.

Last update: 2024-09-26 08:40:53 UTC


README

用于集成 PrivyID 至 Laravel 应用的包

安装

使用 composer 安装

composer require blackit/privyid

设置

发布迁移和配置

使用以下命令发布应用

php artisan vendor:publish --provider="BlackIT\PrivyID\PrivyIDServiceProvider"
php artisan migrate

设置环境变量

设置你的环境变量

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

清除配置缓存

php artisan config:clear

设置 config/app.php

return [

    ...

    'providers' => [

        ...
        \BlackIT\PrivyID\PrivyIDServiceProvider::class

    ],

    ...

    'aliases' => [

        ...
        'File' => Illuminate\Support\Facades\File::class,
        'PrivyID' => \BlackIT\PrivyID\PrivyIDFacade::class,

    ],

];

用法

在模型中(例如 User)使用 PrivyIDAble

namespace App;

use BlackIT\PrivyID\PrivyIDAble;

class User 
{
    use PrivyIDAble;
    
    ...
}

添加绑定按钮

<a href="{{ PrivyID::getOAuthLink() }}">Bind Digital Signature</a>

设置回调

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');
            }
        }
    }
}

获取身份和更新身份

    public function getIdentity(Request $request)
    {

        $user = Auth::user();
        $user->updateIdentity();
        $identity = $user->privyid();
        ...

    }

上传文档

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

    }