authorizerdev / authorizer

Your data, your control. Fully open source, authentication and authorization. No lock-ins. Deployment in Railway in 120 seconds || Spin a docker image as a micro-service in your infra. Built in login page and Admin panel out of the box.

Home Page:https://authorizer.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Face Unlock Authentication

anik-ghosh-au7 opened this issue · comments

commented

Feature Description

To improve user experience and add an extra layer of security, I propose a Face Unlock feature to the existing framework.

Describe the solution you'd like

There are two potential methods to implement this feature:

  1. Server-Side Processing:
  • Capture the video feed from the client's device.
  • Send the video feed to the server for processing.
  • Identify facial landmarks based on the user's profile.
  • Store these landmarks in the database.
  • Generate authentication tokens based on these landmarks which will be used for further authentication and access privileges.
  1. Client-Side Processing:

Develop a frontend solution that resides on the client side.
This frontend solution will contain the facial recognition algorithms along with the pre-trained weights.

  • Capture the video feed and process it on the client side.
  • Generate tokens based on this processing.
  • Send these tokens to the server for further processing and validation.

Additional context

The choice between the two methods will need a deeper evaluation of security implications, user experience, and server load. While server-side processing centralizes the data, ensuring more control, client-side processing might provide a faster response and reduce server load. However, concerns about the security of client-side processing and ensuring the integrity of the tokens generated will need to be addressed.

I think the best approach for something like this would be what FIDO 2 has been working towards and auth systems like hanko do with their passkey api.

https://fidoalliance.org/passkeys/