Let’s start with a smartphone. A user creates an account with a passkey for a service, that passkey gets stored on their smartphone, and they can use biometrics to sign in from then on. The private key is stored on the smartphone. Great.
But then how do you sign into that same service from a different device?
If it’s by using a password manager, some third party piece of software, How do you sign in on a device where you’re not allowed to install third party software?
Service shows you a code that you scan with your device. This code transfers some challenge and information where to send a response. Your device checks if you’re you and then sends a response telling the server you try to log in that hey this guys is indeed the guy, here’s the problem I solved using my private key (asynchronous encryption).