Commit 356ffd78 authored by Nina Satragno's avatar Nina Satragno Committed by Commit Bot

[webauthn] Fix GetAssertionRequestHandler DCHECK

When handling a response on GetAssertionRequestHandler, it's possible
the device may be able to use PIN for fallback and not wait for a second
touch if it supports internal UV but not UV token. Fix a DCHECK to avoid
crashing in that case.

This patch also improves the internal user verification tests to verify
behaviour when PIN is supported.

Bug: 1059914
Change-Id: I5be2e4c85ee97f6298bc5f34ec111a757a027cc0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2095151
Commit-Queue: Nina Satragno <nsatragno@chromium.org>
Reviewed-by: default avatarMartin Kreichgauer <martinkr@google.com>
Cr-Commit-Position: refs/heads/master@{#748511}
parent db280d2a
...@@ -395,8 +395,8 @@ void GetAssertionRequestHandler::HandleResponse( ...@@ -395,8 +395,8 @@ void GetAssertionRequestHandler::HandleResponse(
// Requests that require a PIN should follow the |GetTouch| path initially. // Requests that require a PIN should follow the |GetTouch| path initially.
DCHECK(state_ == State::kWaitingForSecondTouch || DCHECK(state_ == State::kWaitingForSecondTouch ||
authenticator->WillNeedPINToGetAssertion(request_, observer()) == authenticator->WillNeedPINToGetAssertion(request_, observer()) !=
PINDisposition::kNoPIN); PINDisposition::kUsePIN);
const base::Optional<GetAssertionStatus> maybe_result = const base::Optional<GetAssertionStatus> maybe_result =
ConvertDeviceResponseCode(status); ConvertDeviceResponseCode(status);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment