Python WebAuthn Relying Party library
Project description
PyWARP is an implementation of the W3C WebAuthn standard’s Relying Party component in Python. The WebAuthn standard is used to provide advanced authentication security for two-factor, multifactor and passwordless authentication models through the use of dedicated hardware security keys such as Yubico YubiKey and Google Titan.
Compared to legacy two-factor standards like HOTP (RFC 4226) and TOTP (RFC 6238), the FIDO U2F profile of WebAuthn uses asymmetric cryptography to avoid using a shared secret design, which strengthens your authentication solution against server-side attacks. Hardware U2F also sequesters the client secret in a dedicated single-purpose device, which strengthens your clients against client-side attacks. And by automating scoping of credentials to relying party IDs (application origin/domain names), U2F adds protection against phishing attacks.
PyWARP implements the Relying Party component of WebAuthn. A Relying Party is a server-side application that uses WebAuthn APIs in the browser to authenticate its users.
To see an example of PyWARP in action, check the examples directory. Two demos are included: an AWS Chalice app and a Flask app.
In addition to reading the WebAuthn standard, we recommend that implementers read the OWASP Authentication Cheat Sheet and NIST SP 800-63-3: Digital Authentication Guideline for a high level overview of authentication best practices.
Installation
pip install pywarp
Synopsis
from pywarp import TODO
TODO
Storage backends
TODO
See the API documentation for more.
Links
Bugs
Please report bugs, issues, feature requests, etc. on GitHub.
License
Licensed under the terms of the Apache License, Version 2.0.
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
File details
Details for the file pywarp-0.0.2.tar.gz
.
File metadata
- Download URL: pywarp-0.0.2.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/2.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 901a14451c13bf80b3b731434271b8b08a19d33f54dab2dd0b5b186c9222d2c4 |
|
MD5 | b802587f79914678aa16b98ac3a3f6e1 |
|
BLAKE2b-256 | 7b90d6259e9c556af44a6791422bc7d0e7cae7a3d0c725080911138828f0d0e1 |