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.2.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

django_passkey_auth-0.0.2-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: django_passkey_auth-0.0.2.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.2

File hashes

Hashes for django_passkey_auth-0.0.2.tar.gz
Algorithm Hash digest
SHA256 2d89baf63dd2e267ade43758f36ceb7431ce2b06ccc5729c266595edf136a346
MD5 786469ec70bcc5beb79d0df8896c8390
BLAKE2b-256 f0e98f38440f792b130e4e6087a9baf0f62bcb890388cf734eca5b14e2b3f2d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_passkey_auth-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fac716291ea118e846b8fa4f39c09d53b97649765a9d6f615f14f6e6ec35e296
MD5 a71f50723031fd568c39c8f7b15799c5
BLAKE2b-256 063da650ec604555d1a692b42b40eb3ee9386182bf8ff0c5f153f12aca7ccee0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page