FIDO2 USB Monitoring using custom Authorization Plugin

I'm looking to implement USB monitoring for FIDO2 authentication through a custom Authorization Plugin, specifically for the below ones.

This plugin applies to the following macOS authorization mechanisms:

  • system.login.console — login window authentication
  • system.login.screensaver — screensaver unlock authentication

The goal is to build a GUI AuthPlugin, an authorization plugin that presents a custom window prompting the user to "Insert your FIDO key”. Additionally, the plugin should detect when the FIDO2 device is removed and respond accordingly.

Additional Info: We have already developed a custom authorization plugin which is a primary authentication using OTP at login and Lock Screen. We are now extending to include FIDO2 support as a primary.

Our custom authorization plugin is designed to replace the default loginwindow:login mechanism with a custom implementation.

Question: Is there a reliable approach to achieve the USB monitoring functionality through a custom authorization plugin? Any guidance or pointers on this would be greatly appreciated.

FIDO2 USB Monitoring using custom Authorization Plugin
 
 
Q