pac: Skip parent code validation for re-auth if no valid config.
Detect absence of parent access code config and do not perform
code validation for re-auth in that case. This will allow Family
Link users to do online sign-in and fetch the config as a part of
that process.
User can get into no config state if sign-in is interrupted
for example by crash or reboot.
Bug: 1161741
Change-Id: I1d20310a9d5626b060136f5b76d755ccf627b536
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2771198
Commit-Queue: Aga Wronska <agawronska@chromium.org>
Reviewed-by: Li Lin <llin@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Roman Sorokin [CET] <rsorokin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#865968}
diff --git a/ash/login/login_screen_controller.cc b/ash/login/login_screen_controller.cc
index ec4d0fe..f5847cf 100644
--- a/ash/login/login_screen_controller.cc
+++ b/ash/login/login_screen_controller.cc
@@ -11,6 +11,7 @@
#include "ash/login/ui/lock_screen.h"
#include "ash/login/ui/login_data_dispatcher.h"
#include "ash/public/cpp/ash_pref_names.h"
+#include "ash/public/cpp/child_accounts/parent_access_controller.h"
#include "ash/public/cpp/login_screen_client.h"
#include "ash/public/cpp/toast_data.h"
#include "ash/root_window_controller.h"
@@ -163,14 +164,14 @@
weak_factory_.GetWeakPtr(), std::move(callback)));
}
-bool LoginScreenController::ValidateParentAccessCode(
+ParentCodeValidationResult LoginScreenController::ValidateParentAccessCode(
const AccountId& account_id,
base::Time validation_time,
const std::string& code) {
DCHECK(!validation_time.is_null());
if (!client_)
- return false;
+ return ParentCodeValidationResult::kInternalError;
return client_->ValidateParentAccessCode(account_id, code, validation_time);
}