diff --git a/uffd/mfa/models.py b/uffd/mfa/models.py
index d48c8d3b5cc6e67a7932470c0ac94e141e0c8eb5..176c96f134989cea3bfd3619255746e3b4dfeaa2 100644
--- a/uffd/mfa/models.py
+++ b/uffd/mfa/models.py
@@ -6,7 +6,7 @@ import crypt
 from flask import request, current_app
 from sqlalchemy import Column, Integer, Enum, Boolean, String, DateTime, Text
 
-from fido2.ctap2 import AuthenticatorData
+from fido2.ctap2 import AttestedCredentialData
 
 from uffd.database import db
 from uffd.user.models import User
@@ -131,15 +131,15 @@ class WebauthnMethod(MFAMethod):
 		'polymorphic_identity': MFAType.WEBAUTHN
 	}
 
-	def __init__(self, user, cred_data, name=None):
+	def __init__(self, user, cred, name=None):
 		super().__init__(user, name)
-		self.cred_data = cred_data
+		self.cred = cred
 
 	@property
-	def cred_data(self):
-		return AuthenticatorData(base64.b64decode(self._cred))
+	def cred(self):
+		return AttestedCredentialData(base64.b64decode(self._cred))
 
-	@cred_data.setter
-	def cred_data(self, d):
+	@cred.setter
+	def cred(self, d):
 		self._cred = base64.b64encode(bytes(d))
 
diff --git a/uffd/mfa/views.py b/uffd/mfa/views.py
index a0259797d94edb4d18f88f63423efaac333c6d7b..35a3a9059c8992bcceb17f8f4a2c2011e13baed2 100644
--- a/uffd/mfa/views.py
+++ b/uffd/mfa/views.py
@@ -113,7 +113,7 @@ def setup_webauthn_begin():
 	if not RecoveryCodeMethod.query.filter_by(dn=user.dn).all():
 		abort(403)
 	methods = WebauthnMethod.query.filter_by(dn=user.dn).all()
-	creds = [method.cred_data.credential_data for method in methods]
+	creds = [method.cred for method in methods]
 	server = get_webauthn_server()
 	registration_data, state = server.register_begin(
 		{
@@ -137,7 +137,7 @@ def setup_webauthn_complete():
 	client_data = ClientData(data["clientDataJSON"])
 	att_obj = AttestationObject(data["attestationObject"])
 	auth_data = server.register_complete(session["webauthn-state"], client_data, att_obj)
-	method = WebauthnMethod(user, auth_data, name=data['name'])
+	method = WebauthnMethod(user, auth_data.credential_data, name=data['name'])
 	db.session.add(method)
 	db.session.commit()
 	return cbor.dumps({"status": "OK"})
@@ -157,7 +157,7 @@ def auth_webauthn_begin():
 	user = get_current_user()
 	server = get_webauthn_server()
 	methods = WebauthnMethod.query.filter_by(dn=user.dn).all()
-	creds = [method.cred_data.credential_data for method in methods]
+	creds = [method.cred for method in methods]
 	if not creds:
 		abort(404)
 	auth_data, state = server.authenticate_begin(creds, user_verification='discouraged')
@@ -169,7 +169,7 @@ def auth_webauthn_complete():
 	user = get_current_user()
 	server = get_webauthn_server()
 	methods = WebauthnMethod.query.filter_by(dn=user.dn).all()
-	creds = [method.cred_data.credential_data for method in methods]
+	creds = [method.cred for method in methods]
 	if not creds:
 		abort(404)
 	data = cbor.loads(request.get_data())[0]