• Martin Kreichgauer's avatar
    device/fido: move request precondition checks into request handlers · 2b753726
    Martin Kreichgauer authored
    This moves CheckUserVerificationCompatible() from GetAssertionTask into
    GetAssertionRequestHandler, and
    CheckIfAuthenticatorSelectionCriteriaSatisfied() from MakeCredentialTask
    into MakeCredentialRequestHandler.
    
    These preconditions are now checked before dispatching a request onto a
    FidoAuthenticator. This means, precondition checks now cover all types
    of authenticators, not just FidoDeviceAuthenticator subtypes. The
    FidoAuthenticator interface gets a new Options() method to support the
    preconditions check (and an implementation for Touch ID is added).
    
    Corresponding unit tests are moved from the FidoTask test into the
    matching FidoRequestHandler test.
    
    Also, remove AuthenticatorSelectionCriteria from the FidoTask class and
    from the FidoAuthenticator::MakeCredential() signature, where it has
    become superfluous due to this change.
    
    Bug: 678128
    
    Change-Id: I75259e63a8ef4fda4ecb0d8c9f8ff25f10c077a6
    Reviewed-on: https://chromium-review.googlesource.com/1135601
    Commit-Queue: Martin Kreichgauer <martinkr@google.com>
    Reviewed-by: default avatarJun Choi <hongjunchoi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#575505}
    2b753726
fido_authenticator.h 1.76 KB