blob: a9127ab11834096380395e777d3977b941c51a19 [file] [log] [blame]
Igor Ruvinov8a138d002023-05-12 16:19:201// Copyright 2023 The Chromium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_ENTERPRISE_PROFILE_MANAGEMENT_PROFILE_MANAGEMENT_FEATURES_H_
6#define CHROME_BROWSER_ENTERPRISE_PROFILE_MANAGEMENT_PROFILE_MANAGEMENT_FEATURES_H_
7
8#include "base/feature_list.h"
Zonghan Xu7975f9f2024-02-22 02:10:059#include "base/metrics/field_trial_params.h"
Igor Ruvinov8a138d002023-05-12 16:19:2010#include "build/build_config.h"
11
Igor Ruvinov86e4c992023-05-23 16:11:3312namespace profile_management::features {
Igor Ruvinov8a138d002023-05-12 16:19:2013
14// Controls whether third-party profile management is enabled.
15BASE_DECLARE_FEATURE(kThirdPartyProfileManagement);
16
Igor Ruvinov86e4c992023-05-23 16:11:3317// Controls whether token-based profile management is enabled.
18BASE_DECLARE_FEATURE(kEnableProfileTokenManagement);
19
Zonghan Xu7975f9f2024-02-22 02:10:0520// Controls whether OIDC-response profile management is enabled.
21BASE_DECLARE_FEATURE(kOidcAuthProfileManagement);
22
Zonghan Xub7da843d2024-09-03 20:23:2823// Controls whether OIDC profile enrollment can be started from navigation
24// response in addition to redirections.
25BASE_DECLARE_FEATURE(kOidcAuthResponseInterception);
26
Zonghan Xu5264e6a2024-08-09 14:53:0427// Controls whether OIDC enrollment process can time out (and after how long).
28BASE_DECLARE_FEATURE(kOidcEnrollmentTimeout);
29
hmaref6ee8f31d2024-07-04 10:22:0830// Controls whether the generic OIDC-response profile management is enabled.
31BASE_DECLARE_FEATURE(kEnableGenericOidcAuthProfileManagement);
32
Zonghan Xub5ae5c72024-09-05 18:49:2633// Controls whether to add a list of hosts that are eligible for OIDC profile
34// enrollments.
35BASE_DECLARE_FEATURE(kOidcEnrollmentAuthSource);
36
Zonghan Xu18cface2024-11-19 22:18:4437// Controls whether OIDC interception from navigation auth header instead of the
38// usual URL params is permitted. This flag only works on Chrome Canary or Dev.
39BASE_DECLARE_FEATURE(kOidcAuthHeaderInterception);
40
Zonghan Xu7975f9f2024-02-22 02:10:0541// Oidc authentication related feature params.
42extern const base::FeatureParam<std::string> kOidcAuthStubDmToken;
43extern const base::FeatureParam<std::string> kOidcAuthStubProfileId;
44extern const base::FeatureParam<std::string> kOidcAuthStubClientId;
45extern const base::FeatureParam<std::string> kOidcAuthStubUserName;
46extern const base::FeatureParam<std::string> kOidcAuthStubUserEmail;
47extern const base::FeatureParam<bool> kOidcAuthIsDasherBased;
Zonghan Xu9018c302025-01-27 17:49:1548extern const base::FeatureParam<int> kOidcAuthForceErrorUi;
Zonghan Xuabf543cb2024-07-19 17:15:3849extern const base::FeatureParam<bool> kOidcAuthForceTimeoutUi;
Zonghan Xu5264e6a2024-08-09 14:53:0450extern const base::FeatureParam<base::TimeDelta> kOidcEnrollRegistrationTimeout;
Zonghan Xu7975f9f2024-02-22 02:10:0551
Zonghan Xub5ae5c72024-09-05 18:49:2652// List of hosts to be added as eligible to `kOidcEnrollmentAuthSource`,
53// takes the form of a comma-separated string.
54extern const base::FeatureParam<std::string> kOidcAuthAdditionalHosts;
55
Zonghan Xu18cface2024-11-19 22:18:4456// List of URLs to be added as eligible to `kOidcAuthHeaderInterception`,
57// takes the form of a comma-separated string.
58extern const base::FeatureParam<std::string> kOidcAuthAdditionalUrls;
59
Igor Ruvinov86e4c992023-05-23 16:11:3360} // namespace profile_management::features
Igor Ruvinov8a138d002023-05-12 16:19:2061
62#endif // CHROME_BROWSER_ENTERPRISE_PROFILE_MANAGEMENT_PROFILE_MANAGEMENT_FEATURES_H_