mpociot / laravel-face-auth
将Microsoft Face API用作Laravel应用的认证方法。
Requires
- php: ^7.0
- guzzlehttp/guzzle: ^6.0
- intervention/image: ^2.3
- mockery/mockery: ^0.9.9
Requires (Dev)
- orchestra/testbench: ^3.4
- phpunit/phpunit: ^6.0
This package is auto-updated.
Last update: 2024-08-24 10:08:22 UTC
README
此包使用Microsoft的认知API来识别您的Laravel应用程序中的面孔,而不是密码。
免责声明
任何形式的面部识别,使用设备摄像头作为认证方式都是存在缺陷的。你只需要在摄像头前摆出一张好照片就能绕过它。使用这种方式进行认证就像自掘坟墓,为更不安全的网络做出了贡献。
请勿将面部识别用作生产系统中密码认证的替代方案!
安装
您可以通过Composer安装此包
$ composer require mpociot/laravel-face-auth
将服务提供者添加到您的config/app.php
Mpociot\FaceAuth\FaceAuthServiceProvider::class,
在您的config/auth.php
中,将认证驱动程序更改为faceauth
'providers' => [ 'users' => [ 'driver' => 'faceauth', 'model' => App\User::class, ], ]
发布配置
$ php artisan vendor:publish --provider="Mpociot\FaceAuth\FaceAuthServiceProvider"
编辑新发布的config/faceauth.php
文件,并输入您的面部API密钥。
使用和授权
面部认证通过使用用户的参考图像与登录时上传的图像进行匹配来实现。因此,这与比较两个密码散列的过程大致相同。
当您注册用户时,您需要确保您存储了用户的面部照片——这基本上就是他的密码。
为了使此包能够找到用户照片,您的User
模型需要实现FaceAuthenticatable
接口。
此接口只有一个公开方法getFaceAuthPhoto()
。此方法需要返回用户照片的内容。
示例
class User extends Authenticatable implements FaceAuthenticatable { public function getFaceAuthPhoto() { return File::get(storage_path('facces') . $this->id . '.png'); } }
您的登录表单现在需要一个photo
字段(名称可以配置)——此字段应包含用户用于登录的图像的base64表示。
如果您想要一个从网络摄像头捕获用户图像的简单方法,请查看vue-webcam Vue.js组件。
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅贡献以获取详细信息。
安全
如果您发现任何安全问题,请通过电子邮件m.pociot@gmail.com而不是使用问题跟踪器。
鸣谢
许可
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。