Skip to main content

Biometric Authentication System for FastAPI applications

Project description

BMAuth

Biometric Authentication System for FastAPI applications, providing the most secure authentication system to any developer.

This system leverages WebAuthn/FIDO2 Principles in building lots of secure layers, while being a smooth experience for users.

Registering

  • User types in email (identifier in the server)
  • User provides biometric (establishes device's private key) and sends public key to the server
  • Server registers user and asks to verify email via Email PIN
  • User enters the PIN and is brought to the application
    • Email is marked as verified

Authenticating

  • User provides email (sent to server), server verifies user trying to sign in on the same device, server sends back a random challenge to the user
  • User gives device biometrics to solve the challenge (private key creates a digital signature), sends the response to the server
  • Server verifies the signature with the public key, and brings the user to the application

Different Device Authentication

Adding a new device via Cross-Verification

  • Device B initiates login
  • Verify on Device A
    • Phone/Tablet: QR Code to verify biometrically will come from Laptop/Computer
    • Laptop/Computer: Sign into the application, scan the QR Code “Scan this with your new device to approve the sign-in”, then laptop/computer biometric verification
      • The phone/tablet will say “To sign in, go to yourapp.com/link on your already-registered computer”, and then open up the camera view to scan for the QR Code
      • Note: Requires developer to input the link to their app when creating their authentication
  • Device B is verified (Creates a private key and sends public key to the server)
  • Device B is now registered

Account Recovery

  • Device B would click on “Lost my device” or “Can’t approve?”
  • Server sends an Email PIN to device B
  • Device B is verified (Creates a private key and sends public key to the server)
  • Device B is registered
  • User is prompted to de-authorize the lost Device A for security purposes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bmauth-0.1.0.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bmauth-0.1.0-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file bmauth-0.1.0.tar.gz.

File metadata

  • Download URL: bmauth-0.1.0.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for bmauth-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f9c490c7040e611539e366cef66fefbf1db34282eeca33db5f8ded2007eee30a
MD5 4e971932446977d241a09ba2a82de3cf
BLAKE2b-256 8192aff39269056ec36f55406e1647b1c4ed7f1d8e7128bc44b2912d0d19fddd

See more details on using hashes here.

File details

Details for the file bmauth-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: bmauth-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for bmauth-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad7a80282de7e60de69475964a98eb90806de2c763efbbe18349b5357e08e507
MD5 b98140276183abb17d79c503c3083874
BLAKE2b-256 6703ad10a17f9bf724b3b412c8177c48ace0046b802d83d72511c6d18e1ee13e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page