authPrompt: Disregard smartcard status changes events if VERIFICATION_IN_PROGRESS

Open Ray Strode requested to merge smartcard-pin-fix into main

commit c8bb45b4 introduced a new verification state, VERIFICATION_IN_PROGRESS, to detect when the user has already interacted with the authentication prompt, so the prompt can rate limit the number of times the user can cancel authentication attempts with the escape key (without also rate limiting the number of times they can hit escape to go back to the clock without interacting with the prompt).

That means there are now two states that represent the user actively undergoing verification: VERIFYING and VERIFICATION_IN_PROGRESS.

It's inappropriate to reset the smartcard service if the user is actively conversing with it. We try to check for that by looking at the original verification state, VERIFYING, but we unfortunately, neglect to account for the new VERIFICATION_IN_PROGRESS state.

The result is that if a user types their smartcard pin at the clock, and then inserts their smartcard, the pin will get cleared instead of used, and they have to retype it again.

This commit fixes the oversight, and allows users to again pre-type their smartcard pin at the clock before inserting their smartcard.

Merge request reports