Skip to main content

Passkey authentication for Django

Project description

Note that this is very much not a finished package. Consider it a tech demo, or a small proof of concept, and feel free to use it however you'd like, but I would not recommend using it in production as-is.

Installation

  1. pip install django-passkey-auth
  2. Add passkeys to your INSTALLED_APPS setting
  3. Include passkeys.urls somewhere in your urls.py (auth/passkey/ for example)
  4. Migrate your database

Integration with the Django admin

django-passkey-auth comes with some basic admin template overrides that make it possible to register and authenticate with a passkey to the Django admin. To use these customizations, add passkeys.template_directory to your TEMPLATES["DIRS"] list.

The next time you log into the admin, a "Register Passkey" link will be available in the user links at the top. Once you have registered a passkey, you can use the "Passkey Login" button available on the admin login form.

Integration with your site

  • Add <script src="{% static 'passkeys/passkeys.js' %}" defer></script> to your login page, and any page where you may want to allow users to register a passkey.
  • Add a button to allow users to register a passkey:
    <button onclick="registerPasskey('{% url "passkey-register" %}', '{% url "home" %}')">Register Passkey</button>
    
  • Add a button to your login page to allow users to authenticate with a passkey:
    <button onclick="authenticatePasskey('{% url "passkey-login" %}', '{% url "home" %}')">Passkey Login</button>
    

Javascript functions

The passkeys.js script contains two functions:

async function registerPasskey(endpoint, redirect)

async function authenticatePasskey(endpoint, redirect)

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

django_passkey_auth-0.0.3.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.

django_passkey_auth-0.0.3-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file django_passkey_auth-0.0.3.tar.gz.

File metadata

  • Download URL: django_passkey_auth-0.0.3.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.3

File hashes

Hashes for django_passkey_auth-0.0.3.tar.gz
Algorithm Hash digest
SHA256 b973bb147a49f09f4dea23e41d21eb91c211ba68fd295c84beaf366554338f4c
MD5 bb7a790b37c36a7297a95208972c82cc
BLAKE2b-256 1b740ed6def537e122ebb5ee5edf6854d165662c19ba36bf72744ba2354266b3

See more details on using hashes here.

File details

Details for the file django_passkey_auth-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for django_passkey_auth-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cb17e66496cd5e7ef63bee1813a582ad3a5b1ab4cab18c2c8063291a8b9c4d78
MD5 5a5356415b705931b7c1913296d10705
BLAKE2b-256 733f76d42f22578299903e5212b3d45428bd5d135ef478c34f4e049429d06117

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