protected List<MultifactorAuthenticationRegisteredDevice> mapDuoSecurityDevice(final DuoSecurityUserAccount acct) {
        return acct
            .getDevices()
            .stream()
            .map(device -> {
                val model = String.format("%s %s", StringUtils.defaultString(device.getModel()),
                    StringUtils.defaultString(device.getPlatform())).trim();
                return MultifactorAuthenticationRegisteredDevice.builder()
                    .id(device.getId())
                    .type(device.getType())
                    .model(model)
                    .number(device.getNumber())
                    .name(StringUtils.defaultIfBlank(device.getName(), model))
                    .payload(device.toJson())
                    .lastUsedDateTime(device.getLastSeen())
                    .source(getSource().getFirst())
                    .details(Map.of("providerId", Objects.requireNonNull(acct.getProviderId(), "Provider ID cannot be null")))
                    .build();
            })
            .collect(Collectors.toList());
    }
This is {@link DuoSecurityMultifactorAuthenticationDeviceManager}.

@author Misagh Moayyed
@since 7.1.0
support/cas-server-support-duo-core/src/main/java/org/apereo/cas/adaptors/duo/authn/DuoSecurityMultifactorAuthenticationDeviceManager.java