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.2.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.2-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bmauth-0.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 2177f6a1a52dcc2cc0f93e7c4f137b7f176b72623d30aedb55329b39080088f0
MD5 e34411e2d3029565b96d0440202f113f
BLAKE2b-256 b8c3a89321926fb777df65334a71238c2838cb8e7d79b2f5970ace385fba667b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bmauth-0.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5740caef3532fd477c25c3a1686a9bb76f0fcb7b7037c8fd531343bb61ca86e5
MD5 89de26ffbb3a8efd20697da39d55f851
BLAKE2b-256 71ca7e24fed62a54234aa5706fcdcf84899d942c2ab7023b794ed2a9bd6c0062

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