New issue
Advanced search Search tips

Issue 803842 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 3
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: ----


Participants' hotlists:
Hotlist-1


Sign in to add a comment

Implement isUserVerifyingPlatformAuthenticatorAvailable for the WebAuthN API

Project Member Reported by kpaulhamus@chromium.org, Jan 19 2018

Issue description

This method is for relying parties to determine whether they can create a new credential using a user-verifying platform authenticator.

This requires user consent and means to remember the user's preference.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a76be1d6b5131df66515e011c40f640cb28daede

commit a76be1d6b5131df66515e011c40f640cb28daede
Author: Kim Paulhamus <kpaulhamus@chromium.org>
Date: Wed Feb 28 18:31:02 2018

[webauthn] Initial add of isUserVerifyingPlatformAuthenticatorAvailable.

This method is for relying parties to determine whether they can create
a new credential using a user-verifying platform authenticator.

Bug:  803842 
Change-Id: I523e61612bf5a13841473cca83be12d2b83767d0
Reviewed-on: https://chromium-review.googlesource.com/910036
Commit-Queue: Kim Paulhamus <kpaulhamus@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539895}
[modify] https://crrev.com/a76be1d6b5131df66515e011c40f640cb28daede/third_party/WebKit/LayoutTests/external/wpt/webauthn/interfaces.https-expected.txt
[add] https://crrev.com/a76be1d6b5131df66515e011c40f640cb28daede/third_party/WebKit/LayoutTests/http/tests/credentialmanager/publickeycredential-basics.html
[modify] https://crrev.com/a76be1d6b5131df66515e011c40f640cb28daede/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/a76be1d6b5131df66515e011c40f640cb28daede/third_party/WebKit/Source/modules/credentialmanager/PublicKeyCredential.cpp
[modify] https://crrev.com/a76be1d6b5131df66515e011c40f640cb28daede/third_party/WebKit/Source/modules/credentialmanager/PublicKeyCredential.h
[modify] https://crrev.com/a76be1d6b5131df66515e011c40f640cb28daede/third_party/WebKit/Source/modules/credentialmanager/PublicKeyCredential.idl

Comment 2 by engedy@chromium.org, Mar 31 2018

Labels: M-68 Pri-2
Owner: kpaulhamus@chromium.org
Status: Untriaged (was: Available)

Comment 3 by engedy@chromium.org, Mar 31 2018

Labels: Hotlist-WebAuthnFixit
Owner: ----
Note that this will likely be implemented first on Android. Creating a separate bug to track that. crbug.com/828216
Labels: -M-68 M-69
Status: Available (was: Untriaged)
Labels: -Hotlist-WebAuthnFixit
Owner: martinkr@chromium.org
Status: Assigned (was: Available)

Comment 8 by martinkr@google.com, Jun 15 2018

Owner: martinkr@google.com
Project Member

Comment 9 by bugdroid1@chromium.org, Jun 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e4ecff36b282cd98888f692d77a3f8f63efcf76d

commit e4ecff36b282cd98888f692d77a3f8f63efcf76d
Author: Martin Kreichgauer <martinkr@google.com>
Date: Wed Jun 20 03:59:27 2018

//device/fido: fix Touch ID AuthenticatorGetAssertionResponse generation

This makes GetAssertionOperation decrypt the matching credential id
id into its UserEntity value and carry those values as well as the
credential id into the returned response. It was previously returning
incomplete responses.

Also fix the signature counter to 1, rather than 0, because webauthndemo
insists that the number be greater than 0.

Bug:  803842 
Change-Id: I42e22ca9fb571ad6dea924bd765aa276d8c62d1a
Reviewed-on: https://chromium-review.googlesource.com/1103518
Commit-Queue: Martin Kreichgauer <martinkr@google.com>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568720}
[modify] https://crrev.com/e4ecff36b282cd98888f692d77a3f8f63efcf76d/device/fido/mac/credential_metadata.cc
[modify] https://crrev.com/e4ecff36b282cd98888f692d77a3f8f63efcf76d/device/fido/mac/credential_metadata.h
[modify] https://crrev.com/e4ecff36b282cd98888f692d77a3f8f63efcf76d/device/fido/mac/credential_metadata_unittest.cc
[modify] https://crrev.com/e4ecff36b282cd98888f692d77a3f8f63efcf76d/device/fido/mac/get_assertion_operation.h
[modify] https://crrev.com/e4ecff36b282cd98888f692d77a3f8f63efcf76d/device/fido/mac/get_assertion_operation.mm
[modify] https://crrev.com/e4ecff36b282cd98888f692d77a3f8f63efcf76d/device/fido/mac/get_assertion_operation_unittest_mac.mm
[modify] https://crrev.com/e4ecff36b282cd98888f692d77a3f8f63efcf76d/device/fido/mac/make_credential_operation.mm
[modify] https://crrev.com/e4ecff36b282cd98888f692d77a3f8f63efcf76d/device/fido/mac/util.mm

Project Member

Comment 10 by bugdroid1@chromium.org, Jun 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3207d3de660518da8c8bfa6a1c8834748af978f0

commit 3207d3de660518da8c8bfa6a1c8834748af978f0
Author: Martin Kreichgauer <martinkr@google.com>
Date: Tue Jun 26 20:30:23 2018

//device/fido: check for Touch ID in isUVPAA()

This updates the implementation of
isUserVerifyingPlatformAuthenticatorAvailable to call
TouchIdAuthenticator::IsAvailable on macOS >10.12.2. The method returns
true on supported hardware if Touch ID is available and enrolled.

Also move the __builtin_available guards checking for a minimum macOS
version *inside* the TouchIdAuthenticator class to make the interface
less clunky.

Bug:  803842 ,  678128 
Change-Id: Iea2600767b872660debf7d5a807e13f99132d4ec
Reviewed-on: https://chromium-review.googlesource.com/1112800
Commit-Queue: Martin Kreichgauer <martinkr@google.com>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570515}
[modify] https://crrev.com/3207d3de660518da8c8bfa6a1c8834748af978f0/content/browser/webauth/authenticator_impl.cc
[modify] https://crrev.com/3207d3de660518da8c8bfa6a1c8834748af978f0/content/public/browser/authenticator_request_client_delegate.cc
[modify] https://crrev.com/3207d3de660518da8c8bfa6a1c8834748af978f0/content/public/common/content_features.cc
[modify] https://crrev.com/3207d3de660518da8c8bfa6a1c8834748af978f0/content/public/common/content_features.h
[modify] https://crrev.com/3207d3de660518da8c8bfa6a1c8834748af978f0/device/base/features.cc
[modify] https://crrev.com/3207d3de660518da8c8bfa6a1c8834748af978f0/device/base/features.h
[modify] https://crrev.com/3207d3de660518da8c8bfa6a1c8834748af978f0/device/fido/mac/authenticator.h
[modify] https://crrev.com/3207d3de660518da8c8bfa6a1c8834748af978f0/device/fido/mac/authenticator.mm

Status: Fixed (was: Assigned)

Sign in to add a comment