protected MultifactorAuthenticationRegisteredDevice mapWebAuthnAccount(final CredentialRegistration acct) {
        val attestation = Optional.ofNullable(acct.getAttestationMetadata()).orElseGet(Attestation::empty);
        val vendor = attestation.getVendorProperties().orElseGet(Map::of);
        val device = attestation.getDeviceProperties().orElseGet(Map::of);
        return FunctionUtils.doUnchecked(() -> MultifactorAuthenticationRegisteredDevice
            .builder()
            .id(acct.getCredential().getCredentialId().getBase64Url())
            .name(acct.getCredentialNickname())
            .type(vendor.get("name"))
            .model(device.get("displayName"))
            .lastUsedDateTime(acct.getRegistrationTime().toString())
            .payload(OBJECT_WRITER.writeValueAsString(acct))
            .source(getSource().getFirst())
            .details(Map.of("providerId", multifactorAuthenticationProvider.getObject().getId()))
            .build());
    }
This is {@link WebAuthnMultifactorAuthenticationDeviceManager}.

@author Misagh Moayyed
@since 7.1.0
support/cas-server-support-webauthn-core/src/main/java/org/apereo/cas/webauthn/WebAuthnMultifactorAuthenticationDeviceManager.java