blob: a9127ab11834096380395e777d3977b941c51a19 [file] [log] [blame]
// 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.
#ifndef CHROME_BROWSER_ENTERPRISE_PROFILE_MANAGEMENT_PROFILE_MANAGEMENT_FEATURES_H_
#define CHROME_BROWSER_ENTERPRISE_PROFILE_MANAGEMENT_PROFILE_MANAGEMENT_FEATURES_H_
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
#include "build/build_config.h"
namespace profile_management::features {
// Controls whether third-party profile management is enabled.
BASE_DECLARE_FEATURE(kThirdPartyProfileManagement);
// Controls whether token-based profile management is enabled.
BASE_DECLARE_FEATURE(kEnableProfileTokenManagement);
// Controls whether OIDC-response profile management is enabled.
BASE_DECLARE_FEATURE(kOidcAuthProfileManagement);
// Controls whether OIDC profile enrollment can be started from navigation
// response in addition to redirections.
BASE_DECLARE_FEATURE(kOidcAuthResponseInterception);
// Controls whether OIDC enrollment process can time out (and after how long).
BASE_DECLARE_FEATURE(kOidcEnrollmentTimeout);
// Controls whether the generic OIDC-response profile management is enabled.
BASE_DECLARE_FEATURE(kEnableGenericOidcAuthProfileManagement);
// Controls whether to add a list of hosts that are eligible for OIDC profile
// enrollments.
BASE_DECLARE_FEATURE(kOidcEnrollmentAuthSource);
// Controls whether OIDC interception from navigation auth header instead of the
// usual URL params is permitted. This flag only works on Chrome Canary or Dev.
BASE_DECLARE_FEATURE(kOidcAuthHeaderInterception);
// Oidc authentication related feature params.
extern const base::FeatureParam<std::string> kOidcAuthStubDmToken;
extern const base::FeatureParam<std::string> kOidcAuthStubProfileId;
extern const base::FeatureParam<std::string> kOidcAuthStubClientId;
extern const base::FeatureParam<std::string> kOidcAuthStubUserName;
extern const base::FeatureParam<std::string> kOidcAuthStubUserEmail;
extern const base::FeatureParam<bool> kOidcAuthIsDasherBased;
extern const base::FeatureParam<int> kOidcAuthForceErrorUi;
extern const base::FeatureParam<bool> kOidcAuthForceTimeoutUi;
extern const base::FeatureParam<base::TimeDelta> kOidcEnrollRegistrationTimeout;
// List of hosts to be added as eligible to `kOidcEnrollmentAuthSource`,
// takes the form of a comma-separated string.
extern const base::FeatureParam<std::string> kOidcAuthAdditionalHosts;
// List of URLs to be added as eligible to `kOidcAuthHeaderInterception`,
// takes the form of a comma-separated string.
extern const base::FeatureParam<std::string> kOidcAuthAdditionalUrls;
} // namespace profile_management::features
#endif // CHROME_BROWSER_ENTERPRISE_PROFILE_MANAGEMENT_PROFILE_MANAGEMENT_FEATURES_H_