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.0.1.tar.gz (6.2 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.0.1-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bmauth-0.0.1.tar.gz
Algorithm Hash digest
SHA256 6c616249050083b1af11a336a7f732111ca3260e6b51271d536d37513643acc9
MD5 a860e9bd32cb3f686db69b6e8d2ba151
BLAKE2b-256 b63d578d257fa93f3402aea5bdc47f7118dd98c6ac49224f0df096e15ff3809a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bmauth-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.5 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.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d4d782b2f714b5bcb8fd3f4470f247391436edc0085dab3530e0e502687ce23
MD5 d7ff700d8ed94b2f2b0cbd5a6b49e2e0
BLAKE2b-256 1fed198b21ff042c9d51514f7cd6fc06e662f810238bc9b8c0c88ceddf47cf5b

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