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

Implement: A/B test for allowing F/T setup and authentication on desktop #11347

Draft
wants to merge 53 commits into
base: main
Choose a base branch
from

Conversation

jmdembe
Copy link
Contributor

@jmdembe jmdembe commented Oct 15, 2024

Currently a draft PR to allow setup and authorization on desktops.

@jmdembe jmdembe marked this pull request as draft October 16, 2024 13:57
@jmdembe jmdembe force-pushed the jd-LG-14189-ft-setup-desktop branch from cdba74a to 6e5027e Compare October 16, 2024 18:34
@jmdembe jmdembe force-pushed the jd-LG-14189-ft-setup-desktop branch from 6e5027e to 8adbf86 Compare October 16, 2024 18:44
@voidlily
Copy link
Contributor

can you rebase this branch to pick up changes to the reviewapp deploy process?

@@ -19,11 +18,10 @@ export class WebauthnInputElement extends HTMLElement {
return;
}

if (isWebauthnPasskeySupported() && (await isWebauthnPlatformAuthenticatorAvailable())) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't expect to see this code entirely removed, since we still only want to allow devices considered unsupported by isWebauthnPasskeySupported() if the user is part of the A/B test.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't expect to see this code entirely removed, since we still only want to allow devices considered unsupported by isWebauthnPasskeySupported() if the user is part of the A/B test.

I might be confused but shouldn't a user without a device be an automatic disqualifier for the test?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I mean is that if we remove the isWebauthnPasskeySupported(), then "Face or touch unlock" will be visible as an option to everyone (all desktop users), not just those who are selected into the A/B test.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, gotcha. So the line will be

// if webauthn passkeys  are available, supported, and a part of the A/B test

Okay cool.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More precisely, it'd be something like:

if (((isWebauthnPasskeySupported() || isOptedInToAbTest())  && (await isWebauthnPlatformAuthenticatorAvailable())) {
  // ...
}

Copy link
Contributor Author

@jmdembe jmdembe Oct 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then from that, you could still get if supported and available, then show. What if we changed this up a little bit?

if (((isWebauthnPasskeySupported() || isOptedInToAbTest()) && (await isWebauthnPlatformAuthenticatorAvailable())) 
{ 
// ... 
}

Because then if its not available at all, then we can skip over the second check which would automatically be false?

EDIT: Wait, that would be the same logic.

@jmdembe jmdembe force-pushed the jd-LG-14189-ft-setup-desktop branch from f9c9122 to eeb8788 Compare November 5, 2024 14:19
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

Successfully merging this pull request may close these issues.

3 participants