Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fingerprint security key option not found when adding the device to an existing account #1086

Open
neokree opened this issue Dec 11, 2022 · 7 comments

Comments

@neokree
Copy link

neokree commented Dec 11, 2022

Hello,

I recently bought a new phone, and I was trying to add it to my existing internet identity, only to find out that there isn't an option for it.
Screenshot_20221211-142908

To be sure, with the same browser (Brave) I tried to create a new Identity, and this time the fingerprint option was available.

Is there a reason why you are not supporting the use of a fingerprint option when adding the device to an existing account?

Tested with a Google Pixel 6 with Android 13 installed

@nmattia
Copy link
Collaborator

nmattia commented Dec 29, 2022

Hi! apologies for the delay, was off for a few weeks.

That's really surprising. I can actually reproduce this... but not with every anchor, which is really odd. Let me investigate a bit and come back to you; thanks for the report!


EDIT: and now I can't reproduce it anymore... something odd is happening here for sure!

@neokree
Copy link
Author

neokree commented Dec 29, 2022

Hi @nmattia I also found out that the biometric authentication is available if you first recover your anchor using the seed on the new device, and after logging in you add your new device.

@neokree
Copy link
Author

neokree commented Dec 29, 2022

Maybe it's something that happens only the first time you try to connect with a new device to an existing anchor?
I can reproduce it every time by trying to login to a random anchor

@nmattia
Copy link
Collaborator

nmattia commented Dec 29, 2022

Ok, so we do exclude some authenticators when creating credentials for a new device:

publicKey: creationOptions(existingAuthenticators),

I'm not 100% sure why it's there and what it does; @frederikrothenberger can you clarify why it's needed and what exactly it does?

@frederikrothenberger
Copy link
Contributor

This excludes already registered devices. I.e. it prevents creating a new credential if an existing one is already available on the same WebAuthn Authenticator. So you cannot register TouchId twice using the same MacBook, but you can register TouchID and a YubiKey that is attached to the same MacBook because the YubiKey is considered a different Authenticator.

@nmattia
Copy link
Collaborator

nmattia commented Jan 5, 2023

@frederikrothenberger what happens if you have two anchors, 10000 and 10001, and 10000 has TouchID and you want to add TouchID to 10001? Is TouchID on 10000 considered registering TouchID twice?

@frederikrothenberger
Copy link
Contributor

@nmattia: No, the excluded credential id's are the ones of the anchor you're trying to add a device to. So, when adding something to anchor 10000 you don't exclude any credentials used on other anchors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants