goauthentik / authentik

The authentication glue you need.
https://goauthentik.io
Other
12.76k stars 850 forks source link

Unable to register WebAuthn security key #10656

Open oscar-vlugt opened 1 month ago

oscar-vlugt commented 1 month ago

Describe the bug When trying to register a WebAuthn security key (Yubikey 5c) an error is thrown after registring

To Reproduce Steps to reproduce the behavior:

  1. Go to Settings
  2. Click on MFA Devices
  3. Click on Enroll
  4. Select webauthn device
  5. Complete registration

Expected behavior Registration should finish and not throw an error

Logs

Stacktrace from authentik ``` Traceback (most recent call last): File "/authentik/flows/views/executor.py", line 341, in post stage_response = self.current_stage_view.dispatch(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/ak-root/venv/lib/python3.12/site-packages/django/views/generic/base.py", line 143, in dispatch return handler(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/authentik/flows/stage.py", line 145, in post return self.challenge_valid(challenge) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/authentik/stages/authenticator_webauthn/stage.py", line 168, in challenge_valid ).first() ^^^^^^^ File "/ak-root/venv/lib/python3.12/site-packages/django/db/models/query.py", line 1097, in first for obj in queryset[:1]: File "/ak-root/venv/lib/python3.12/site-packages/django/db/models/query.py", line 400, in __iter__ self._fetch_all() File "/ak-root/venv/lib/python3.12/site-packages/django/db/models/query.py", line 1928, in _fetch_all self._result_cache = list(self._iterable_class(self)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/ak-root/venv/lib/python3.12/site-packages/django/db/models/query.py", line 91, in __iter__ results = compiler.execute_sql( ^^^^^^^^^^^^^^^^^^^^^ File "/ak-root/venv/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 1562, in execute_sql cursor.execute(sql, params) File "/ak-root/venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 79, in execute return self._execute_with_wrappers( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/ak-root/venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers return executor(sql, params, many, context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/ak-root/venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 100, in _execute with self.db.wrap_database_errors: File "/ak-root/venv/lib/python3.12/site-packages/django/db/utils.py", line 91, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "/ak-root/venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute return self.cursor.execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/ak-root/venv/lib/python3.12/site-packages/django_prometheus/db/common.py", line 69, in execute return super().execute(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/ak-root/venv/lib/python3.12/site-packages/psycopg/cursor.py", line 732, in execute raise ex.with_traceback(None) django.db.utils.InternalError: could not read block 404 in file "base/16384/18416": read only 0 of 8192 bytes ```

Version and Deployment (please complete the following information):

Additional context Error thrown in the GUI is: "Something went wrong! Please try again later.". Curling [-/health/ready/] returns a 204 as expected

oscar-vlugt commented 1 month ago

Using an older yubikey works . The 5 series seem to have this error. Upgrading to 2024.6.2 did not resolve this issue.