Fprintd is what you’re looking for. KDE and Gnome have built in support for it. Some distros like Fedora have it installed by default.
I have an inexpensive u.are.u 4500 and it works well enough for my uses.
The other alternative is to use pam_u2f with FIDO2 keys eg yubikey, solo key, etc. That will also enable you to use ssh -sk keys too if that’s important to you.
As with most things like this you can combine them to have 1FA, 2FA, or 3FA. You can even tie it into FreeIPA if you use that. You can also combine to lock yourself out of your system completely. So have fun!