blob: 2cbceb04c3743441308227204cd15daa62b0f2ad [file] [log] [blame]
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import <Foundation/Foundation.h>
// Indicates the result of the Reauthentication attempt.
enum class ReauthenticationResult {
kSuccess = 0,
kFailure = 1,
kSkipped = 2,
kMaxValue = kSkipped,
// Protocol for implementor of hardware reauthentication check.
@protocol ReauthenticationProtocol <NSObject>
// Checks whether Touch ID and/or passcode is enabled for the device.
- (BOOL)canAttemptReauth;
// Attempts to reauthenticate the user with Touch ID or Face ID, or passcode if
// such hardware is not available. If |canReusePreviousAuth| is YES, a previous
// successful reauthentication can be taken into consideration, otherwise a new
// reauth attempt must be made. |handler| will take action depending on the
// result of the reauth attempt.
- (void)attemptReauthWithLocalizedReason:(NSString*)localizedReason
(void (^)(ReauthenticationResult success))