leonardoakio / facial-validation
用于Laravel或遗留应用程序的面部验证器
This package is auto-updated.
Last update: 2024-09-04 14:11:36 UTC
README
Simple Keycloak Client para Laravel
遗留CodeIgniter:数据以原始字符串JSON格式“data:image/jpeg;base64,/9j/4AA...AAADE/2Q==”从前端通过Ajax传递,图片以base64编码通过JSON.stringify()发送
async sendImages() { $.ajax({ url: urlBase + "index/validatePhoto", type: 'POST', contentType: 'application/json', data: JSON.stringify(this.capturedImages), success: (data) => { this.responseData = data this.verified = (JSON.parse(data.data).verified); this.capturedImages = []; }, error: function(xhr, status, error) { console.error(xhr.responseText); } }); }
Laravel:数据不一定需要以JSON.stringify()的原始方式发送,可以发送和接收JSON
const response = await api.post( urlBase + "index/validatePhoto", this.capturedImages, { headers: { 'Content-Type': 'application/json' } } );
开始项目
在项目的vendor文件夹内require要导入的包
composer require leonardoakio/facial-validation
如果已经安装,更新包以检查是否有新版本
composer update leonardoakio/facial-validation
在config/app.php文件中添加provider,以便KeycloakClientServiceProvider可以在vendor上下文中被识别
FacialValidator\FacialValidatorServiceProvider::class
发布lib要生成的文件
php artisan vendor:publish --tag=facial-laravel
我们也可以直接执行Provider
php artisan vendor:publish --provider="FacialValidator\FacialValidatorServiceProvider"
添加ENV FACIAL_FRAMEWORK,它将用于发布Laravel或Legacy(Code Igniter)的文件(可选)
FACIAL_FRAMEWORK=laravel
在app/Providers/AppServiceProvider.php文件中将FacialValidatorRepositoryInterface绑定到FacialValidatorRepository,这将与DeepFace通信,也可以扩展到其他面部识别工具(如Amazon Rekognition),只需实现相同的接口并创建一个新的绑定即可
$this->app->bind( App\Repositories\FacialValidator\FacialValidatorRepositoryInterface::class, \App\Repositories\FacialValidator\FacialValidatorRepository::class );
在Laravel的路由文件routes/api.php中添加验证路由
Route::group(["prefix" => "facial"], function () { Route::post('/verify', [App\Http\Controllers\FacialValidator\FacialValidationController::class, 'validatePhoto']); });
注意:最后几项都在FacialValidatorServiceProvider中,只需实现一个逻辑来在初始化时执行boot,并取消注释方法调用(registerRoutes(),registerBindings())以自动化之前的手动过程
结构
├── config/ # Configuração para definir boot do FacialServiceProvider.php ├── routes/ # Rotas de autenticação do Keycloak ├── src/Controllers # Controladores que irão lidar com as rotas ├── src/Enums # Lista de elementos ├── src/Repositories # Classe de comunicação com o Keyclaok ├── composer.json # Listar as dependências do projeto e suas versões