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

PublicKeyCredential.getClientCapabilities - add #37734

Merged

Conversation

hamishwillee
Copy link
Collaborator

@hamishwillee hamishwillee commented Jan 21, 2025

FF135 adds support for PublicKeyCredential_getClientCapabilities().

This adds API reference.

Perhaps also an update to the guide.

#37557 is a precondition for this

Related docs work can be tracked in #37516

@github-actions github-actions bot added Content:WebAPI Web API docs size/m [PR only] 51-500 LoC changed labels Jan 21, 2025
Copy link
Contributor

github-actions bot commented Jan 21, 2025

Preview URLs

Flaws (3)

Note! 4 documents with no flaws that don't need to be listed. 🎉

URL: /en-US/docs/Web/API/PublicKeyCredential/getClientCapabilities_static
Title: PublicKeyCredential: getClientCapabilities() static method
Flaw count: 3

  • broken_links:
    • Can't resolve /en-US/docs/Web/API/PublicKeyCredential/signalAllAcceptedCredentials_static
    • Can't resolve /en-US/docs/Web/API/PublicKeyCredential/signalCurrentUserDetails_static
    • Can't resolve /en-US/docs/Web/API/PublicKeyCredential/signalUnknownCredential_static
External URLs (5)

URL: /en-US/docs/Web/API/CredentialsContainer/get
Title: CredentialsContainer: get() method


URL: /en-US/docs/Web/API/PublicKeyCredential/getClientCapabilities_static
Title: PublicKeyCredential: getClientCapabilities() static method


URL: /en-US/docs/Web/API/AuthenticatorAttestationResponse/getTransports
Title: AuthenticatorAttestationResponse: getTransports() method

(comment last updated: 2025-02-04 01:42:37)

@hamishwillee hamishwillee marked this pull request as ready for review January 27, 2025 01:59
@hamishwillee hamishwillee requested a review from a team as a code owner January 27, 2025 01:59
@hamishwillee hamishwillee requested review from sideshowbarker and chrisdavidmills and removed request for a team January 27, 2025 01:59
@sideshowbarker sideshowbarker removed their request for review January 28, 2025 03:34
Copy link
Contributor

@chrisdavidmills chrisdavidmills left a comment

Choose a reason for hiding this comment

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

@hamishwillee nice work, sir. Few comments for you, but nothing really serious. I suspect you might change up a few things after reviewing my PR.

This means the the client can use authenticators that rely on Bluetooth, NFC or USB.
- `passkeyPlatformAuthenticator`
- : The client supports usage of a passkey platform authenticator, locally and/or via hybrid transport.
These authenticators enable passwordless multi-factor authentication, providing proof of possession of a credential private key provide and requiring a second authentication mechanism such as a PIN or biometric check.
Copy link
Contributor

Choose a reason for hiding this comment

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

"providing proof of possession of a credential private key provide" doesn't make sense; rephrase? Not sure if there is a missing word or something.

Also, the Chrome folks have a lot of detailed info about passkey. Maybe consider linking to something like https://developers.google.com/identity/passkeys/developer-guides?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yeah, that sux. What it was supposed to say is that you have to have a physical "thing" that grants access (which holds the credential's private key) and you require a user check to use it.

I've updated in https://github.com/mdn/content/pull/37734/files#r1936651860

It is still a little unclear to me if in reality all discoverable credentials are passkeys, and/or what differentiates a passkey from other discoverable credentials. Do you know?

Copy link
Contributor

Choose a reason for hiding this comment

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

AIUI, passkeys are basically the main available use case for discoverable credentials right now, implemented by Google. Others may be available in the future, hence me saying "for example passkey" in my PR, to future proof the text.

hamishwillee and others added 3 commits January 31, 2025 15:37
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

- `NotAllowedError` {{domxref("DOMException")}}
- : The Web Authentication API is not allowed in the current browsing context.
For example, it might be blocked by a permission policy.
Copy link
Contributor

Choose a reason for hiding this comment

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

OK, that's fine.

This means the the client can use authenticators that rely on Bluetooth, NFC or USB.
- `passkeyPlatformAuthenticator`
- : The client supports usage of a passkey platform authenticator, locally and/or via hybrid transport.
These authenticators enable passwordless multi-factor authentication, providing proof of possession of a credential private key provide and requiring a second authentication mechanism such as a PIN or biometric check.
Copy link
Contributor

Choose a reason for hiding this comment

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

AIUI, passkeys are basically the main available use case for discoverable credentials right now, implemented by Google. Others may be available in the future, hence me saying "for example passkey" in my PR, to future proof the text.

Copy link
Contributor

@chrisdavidmills chrisdavidmills left a comment

Choose a reason for hiding this comment

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

@hamishwillee few more bits for you, but nothing serious. I'm going to approve this, so as not to hold you up.

@hamishwillee
Copy link
Collaborator Author

@chrisdavidmills . I've accepted all your fixes (how was I so sloppy?) except the one about update/vs delete in the signal all credentials.

I'm going to merge because you'll be able to merge yours shortly too, and it would be good to fix the corresponding release note links to this.

Thanks very much for all your help and advice.

@hamishwillee hamishwillee merged commit 83561d0 into mdn:main Feb 4, 2025
8 checks passed
@hamishwillee hamishwillee deleted the PublicKeyCredential_getClientCapabilities branch February 4, 2025 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Content:WebAPI Web API docs size/m [PR only] 51-500 LoC changed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants