buchin / kamfret
FlexcodeSDK for Laravel 4
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
This package is auto-updated.
Last update: 2024-09-15 18:30:54 UTC
README
未维护。目前我没有时间维护此存储库。如果您有兴趣维护此存储库,请告诉我。
安装
首先,通过 Composer 安装此包。编辑您的项目 composer.json
文件以要求 buchin/kamfret
"require": {
"laravel/framework": "4.2.*",
"zizaco/confide": "~4.0@dev",
.
.
.
"buchin/kamfret": "0.1"
}
接下来,通过终端更新 Composer
composer update
接下来,打开 app/config/app.php
,并在 providers 数组中添加一个新项。
'Buchin\Kamfret\KamfretServiceProvider'
别忘了在 app/config/app.php
中的别名列表中添加 Kamfret
'Kamfret' => 'Buchin\Kamfret\Facades\Kamfret'
然后发布 buchin/kamfret 配置
php artisan config:publish buchin/kamfret
编辑 app/config/packages/buchin/kamfret/config.php
注册指纹设备许可证,例如
'devices' => array(
// add device here
array(
'name' => 'device_name_1',
'sn' => 'Device Serial Number',
'vc' => 'Device Verification Code',
'ac' => 'Device Authentication Code',
'vkey' => 'Device Verification Key',
),
array(
'name' => 'device_name_2',
'sn' => 'Device Serial Number',
'vc' => 'Device Verification Code',
'ac' => 'Device Authentication Code',
'vkey' => 'Device Verification Key',
),
),
您可以使用数组添加多个设备。如果您需要设备许可证,请观看此视频了解如何获取这些设备许可证:https://www.youtube.com/watch?v=8a8R4htmkVo
现在运行用户表的迁移。我们假设您已经有用户表。我们将向用户表添加 fingerprints
列。
php artisan migrate --package="buchin/kamfret"
使用方法
注册
生成注册链接 将此代码放入您的视图中以生成注册链接: {{ Kamfret::getRegistrationLink($user->id) }}
示例
<a href="{{ Kamfret::getRegistrationLink($user->id) }}">Register</a>
使用用户 ID 作为参数
监听事件并执行一些操作 注册由 FlexcodeSDK 处理,在后台,它将触发 fingerprints.register
事件。我们可以订阅此事件,检查注册结果并将要由 SDK 打开的 URL echo
给用户。示例:(app/filters.php
)
Event::listen('fingerprints.register', function($data)
{
// Do some stuff before informing URL to user
// inform SDK to open this URL
echo url('users?message=' . $data['message']);
});
$data
将包含三条信息
$data['verified']
布尔值,表示指纹是否成功注册 $data['user']
包含从 eloquent 获取的用户信息 $data['message']
包含来自验证的附加消息,如果注册失败,它将包含错误消息。
验证
生成验证链接 将此代码放入您的视图中以生成注册链接: {{ Kamfret::getVerificationLink($user->id, $extras) }}
示例(简单)
<a href="{{ Kamfret::getVerificationLink($user->id) }}">Verify</a>
如果没有第二个参数,默认将发送 $extras = array('action' => 'login')
示例(高级)
<a href="{{ Kamfret::getVerificationLink($user->id, array('action' => 'transactions.confirm', 'transaction_id' => $transaction->id )) }}">Verify Transaction</a>
监听事件并执行一些操作 示例:(app/filters.php
)
Event::listen('fingerprints.verify', function($data){
$action = $data['extras']['action'];
switch ($action) {
case 'login':
// Log user to database here, i.e: Adding new session etc.
// Example:
// Session::add($data['user']->id);
// Then tell SDK to open this page
echo action('UsersController@index', array('message' => $data['message']));
break;
case 'transactions.confirm':
// mark transaction as verified, example usage:
// $transaction = Transaction::find($data['extras']['transaction_id']);
// $transaction->verified = true;
// $transaction->save();
// Then tell SDK to open this page
echo route('transactions',
array(
'message' => $data['message'],
'id' => $data['extras']['transaction_id'])
);
break;
}
});