Authorization Plugin is Hanging after context.setResult(.allow) called

We are writing an Authorization Plugin to add an additional factor to macOS desktop login.

We're experiencing an issue when we run our code using the UTM VM. The plugin calls context.setResult(.allow) and de-initializes the mechanism (as indicated by log statements), but the login itself never succeeds. The desktop hangs showing a progress spinner and the user icon, but never transitions to the desktop.

This problem doesn't happen consistently using UTM nor have we seen it using bare metal, but it's concerning all the same.

If anyone has experienced this and has any insight into this, I'd be very grateful.

Thanks, Francis

I forgot to mention that this only happens after logging out - it doesn't happen if the VM is rebooted.

Another follow-up. It appears that the Authorization Plugin isn't actually hanging at all. The entire auth pipeline appears to execute based on the logs and the fact that the SecurityAgentHelper-arm64 user that runs the pipeline has no running processes in the hang state.

I've tried to killing off other processes to see if that gets us logged in, but with no success so far.

Authorization Plugin is Hanging after context.setResult(.allow) called
 
 
Q