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
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
bmauth-0.1.0-py3-none-any.whl
(15.1 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9c490c7040e611539e366cef66fefbf1db34282eeca33db5f8ded2007eee30a
|
|
| MD5 |
4e971932446977d241a09ba2a82de3cf
|
|
| BLAKE2b-256 |
8192aff39269056ec36f55406e1647b1c4ed7f1d8e7128bc44b2912d0d19fddd
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad7a80282de7e60de69475964a98eb90806de2c763efbbe18349b5357e08e507
|
|
| MD5 |
b98140276183abb17d79c503c3083874
|
|
| BLAKE2b-256 |
6703ad10a17f9bf724b3b412c8177c48ace0046b802d83d72511c6d18e1ee13e
|