2017 © Pedro Peláez
 

library laravel-face-auth

Use Microsoft Face API as a authentication method in your Laravel app.

image

mpociot/laravel-face-auth

Use Microsoft Face API as a authentication method in your Laravel app.

  • Wednesday, March 15, 2017
  • by mpociot
  • Repository
  • 6 Watchers
  • 123 Stars
  • 48 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 12 Forks
  • 2 Open issues
  • 2 Versions
  • 7 % Grown

The README.md

Laravel Face authentication

This package uses Microsoft's cognitive API to identify faces instead of passwords for your Laravel application., (*1)

Disclaimer

Any kind of Face Recognition, using the camera of the device as a form of Authentication is flawed. You only need to hold a good photo in front of the camera to by pass it. Using this for authentication is like shooting in your own foot and contributing for a more insecure web., (*2)

Please do not use face recognition as an alternative for password authentication in a production system!, (*3)

Installation

You can install the package via Composer:, (*4)

``` bash $ composer require mpociot/laravel-face-auth, (*5)


Add the service provider to your `config/app.php`: ``` php Mpociot\FaceAuth\FaceAuthServiceProvider::class,

In your config/auth.php, change the auth driver to faceauth:, (*6)

'providers' => [
    'users' => [
        'driver' => 'faceauth',
        'model' => App\User::class,
    ],
]

Publish the configuration: ``` bash $ php artisan vendor:publish --provider="Mpociot\FaceAuth\FaceAuthServiceProvider", (*7)

Edit the newly published `config/faceauth.php` file and enter your [Face API key](https://www.microsoft.com/cognitive-services/en-us/face-api).

## Usage and authorization

The face authentication works, by using a reference image of your user and matching it against a uploaded image upon login.
So this pretty much is the same flow as comparing two password hashes.

When you register your users, you need to make sure that you store a photo of the users face - this is basically his password.

In order for this package, to find the user photo, your `User` model needs to implement the `FaceAuthenticatable` interface.

This interface only has one single public method `getFaceAuthPhoto()`. This method needs to return the content of the user photo.

Example:

```php
class User extends Authenticatable implements FaceAuthenticatable
{

    public function getFaceAuthPhoto()
    {
        return File::get(storage_path('facces') . $this->id . '.png');
    }

}

Your login form now needs a photo field (the name can be configured) - this field should contain a base64 representation of the image, the user uses to log in., (*8)

If you want a simple way to capture the user image from the webcam, take a look at the vue-webcam Vue.js component., (*9)

Changelog

Please see CHANGELOG for more information what has changed recently., (*10)

Contributing

Please see CONTRIBUTING for details., (*11)

Security

If you discover any security related issues, please email m.pociot@gmail.com instead of using the issue tracker., (*12)

Credits

License

The MIT License (MIT). Please see License File for more information., (*13)

The Versions

15/03 2017

dev-master

9999999-dev https://github.com/mpociot/laravel-face-auth

Use Microsoft Face API as a authentication method in your Laravel app.

  Sources   Download

MIT

The Requires

 

The Development Requires

mpociot laravel-face-auth

13/03 2017

0.1.0

0.1.0.0 https://github.com/mpociot/laravel-face-auth

Use Microsoft Face API as a authentication method in your Laravel app.

  Sources   Download

MIT

The Requires

 

The Development Requires

mpociot laravel-face-auth