Skip to content

Commit a50a6a1

Browse files
committed
v1.27b1
1 parent ac02b78 commit a50a6a1

File tree

3 files changed

+14
-6
lines changed

3 files changed

+14
-6
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## v1.2.7
2+
3+
* Fix: issue if the user isn't defined by username field #25.
4+
15
## v1.2.6
26

37
* Adding Django 5.0 to test matrix and pypi classifiers

passkeys/FIDO2.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import fido2.features
66
from django.conf import settings
7+
from django.contrib.auth import get_user_model
78
from django.http import JsonResponse
89
from django.utils import timezone
910
from django.views.decorators.csrf import csrf_exempt
@@ -22,7 +23,10 @@ def enable_json_mapping():
2223

2324

2425
def getUserCredentials(user):
25-
return [AttestedCredentialData(websafe_decode(uk.token)) for uk in UserPasskey.objects.filter(user__username = user)]
26+
User = get_user_model()
27+
username_field = User.USERNAME_FIELD
28+
filter_args = {"user__"+username_field : user}
29+
return [AttestedCredentialData(websafe_decode(uk.token)) for uk in UserPasskey.objects.filter(**filter_args)]
2630

2731

2832
def getServer(request=None):
@@ -61,8 +65,8 @@ def reg_begin(request):
6165
auth_attachment = getattr(settings,'KEY_ATTACHMENT', None)
6266
registration_data, state = server.register_begin({
6367
u'id': urlsafe_b64encode(request.user.username.encode("utf8")),
64-
u'name': request.user.username,
65-
u'displayName': request.user.username,
68+
u'name': request.user.get_username(),
69+
u'displayName': request.user.get_full_name()
6670
}, getUserCredentials(request.user), authenticator_attachment = auth_attachment, resident_key_requirement=fido2.webauthn.ResidentKeyRequirement.PREFERRED)
6771
request.session['fido2_state'] = state
6872
return JsonResponse(dict(registration_data))

setup.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
setup(
66
name='django-passkeys',
7-
version='1.2.6',
7+
version='1.2.7b1',
88
description='A Django Authentication Backend for Passkeys',
99
long_description=open("README.md").read(),
1010
long_description_content_type="text/markdown",
@@ -24,8 +24,8 @@
2424
include_package_data=True,
2525
zip_safe=False, # because we're including static files
2626
classifiers=[
27-
"Development Status :: 5 - Production/Stable",
28-
#"Development Status :: 4 - Beta",
27+
#"Development Status :: 5 - Production/Stable",
28+
"Development Status :: 4 - Beta",
2929
"Environment :: Web Environment",
3030
"Framework :: Django",
3131
"Framework :: Django :: 2.0",

0 commit comments

Comments
 (0)