| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chromeos/ash/components/osauth/public/auth_engine_api.h" |
| |
| #include <string> |
| |
| #include "base/check_op.h" |
| #include "chromeos/ash/components/osauth/impl/auth_hub_common.h" |
| #include "chromeos/ash/components/osauth/impl/engines/cryptohome_password_engine.h" |
| #include "chromeos/ash/components/osauth/impl/engines/cryptohome_pin_engine.h" |
| #include "chromeos/ash/components/osauth/public/common_types.h" |
| |
| namespace ash { |
| |
| // static |
| void AuthEngineApi::AuthenticateWithPassword(AuthHubConnector* connector, |
| AshAuthFactor factor, |
| const std::string& raw_password) { |
| CHECK_EQ(factor, AshAuthFactor::kGaiaPassword); |
| CryptohomePasswordEngine* engine = |
| static_cast<CryptohomePasswordEngine*>(connector->GetEngine(factor)); |
| engine->PerformPasswordAttempt(raw_password); |
| } |
| |
| void AuthEngineApi::AuthenticateWithPin(AuthHubConnector* connector, |
| AshAuthFactor factor, |
| const std::string& raw_pin) { |
| CHECK_EQ(factor, AshAuthFactor::kCryptohomePin); |
| CryptohomePinEngine* engine = |
| static_cast<CryptohomePinEngine*>(connector->GetEngine(factor)); |
| engine->PerformPinAttempt(raw_pin); |
| } |
| |
| } // namespace ash |