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.
pip install django-passkey-auth
- Add
passkeys
to yourINSTALLED_APPS
setting - Include
passkeys.urls
somewhere in yoururls.py
(auth/passkey/
for example) - Migrate your database
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.
- 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>
The passkeys.js
script contains two functions: