1 // Copyright 2018 The Chromium Authors. All rights reserved. 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_CREDENTIAL_PROVIDER_COMMON_GCP_STRINGS_H_ 6 #define CHROME_CREDENTIAL_PROVIDER_COMMON_GCP_STRINGS_H_ 7 8 #include <string> 9 #include <vector> 10 11 namespace credential_provider { 12 13 // The the UI process can exit with the following exit code. 14 enum UiExitCodes { 15 // The user completed the sign in successfully. 16 kUiecSuccess, 17 18 // The sign in was aborted by the user. 19 kUiecAbort, 20 21 // The sign in timed out. 22 kUiecTimeout, 23 24 // The process was killed by the GCP. 25 kUiecKilled, 26 27 // The email is not valid for the given user logging in. 28 kUiecEMailMissmatch, 29 30 // The email domain is not an accepted domain. 31 kUiecInvalidEmailDomain, 32 33 // Some signin data was missing. 34 kUiecMissingSigninData, 35 36 kUiecCount, 37 }; 38 39 // Names of keys returned on json data from UI process. 40 extern const char kKeyEmail[]; 41 extern const char kKeyPicture[]; 42 extern const char kKeyFullname[]; 43 extern const char kKeyId[]; 44 extern const char kKeyMdmUrl[]; 45 extern const char kKeyMdmIdToken[]; 46 extern const char kKeyPassword[]; 47 extern const char kKeyRefreshToken[]; 48 extern const char kKeyAccessToken[]; 49 extern const char kKeyMdmAccessToken[]; 50 extern const char kKeySID[]; 51 extern const char kKeyTokenHandle[]; 52 extern const char kKeyUsername[]; 53 extern const char kKeyDomain[]; 54 extern const char kKeyExitCode[]; 55 56 // AD attributes related to the device. 57 extern const char kKeyIsAdJoinedUser[]; 58 59 // Name of registry value that holds user properties. 60 extern const wchar_t kUserTokenHandle[]; 61 extern const wchar_t kUserEmail[]; 62 extern const wchar_t kUserId[]; 63 extern const wchar_t kUserPictureUrl[]; 64 65 // Username and password key for special GAIA account to run GLS. 66 extern const wchar_t kDefaultGaiaAccountName[]; 67 extern const wchar_t kLsaKeyGaiaUsername[]; 68 extern const wchar_t kLsaKeyGaiaPassword[]; 69 70 // Name of the desktop used on the Window welcome screen for interactive 71 // logon. 72 extern const wchar_t kDesktopName[]; 73 extern const wchar_t kDesktopFullName[]; 74 75 // GUID used by Google Update client for GCPW application. 76 extern const wchar_t kGcpwUpdateClientGuid[]; 77 78 // Google Update related registry paths. 79 extern const wchar_t kRegUpdaterClientStateAppPath[]; 80 extern const wchar_t kRegUpdaterClientsAppPath[]; 81 extern const wchar_t kRegUninstallStringField[]; 82 extern const wchar_t kRegUninstallArgumentsField[]; 83 extern const wchar_t kRegUsageStatsName[]; 84 extern const wchar_t kRegUpdateTracksName[]; 85 extern const wchar_t kRegVersionName[]; 86 87 // Registry keys to list GCPW in add/remove programs on Windows. 88 extern const wchar_t kRegUninstall[]; 89 extern const wchar_t kRegUninstallProduct[]; 90 extern const wchar_t kRegUninstallString[]; 91 extern const wchar_t kRegUninstallDisplayName[]; 92 extern const wchar_t kRegInstallLocation[]; 93 extern const wchar_t kRegDisplayIcon[]; 94 extern const wchar_t kRegNoModify[]; 95 extern const wchar_t kRegNoRepair[]; 96 extern const wchar_t kRegPublisherName[]; 97 extern const wchar_t kRegVersion[]; 98 extern const wchar_t kRegDisplayVersion[]; 99 extern const wchar_t kRegInstallDate[]; 100 extern const wchar_t kRegVersionMajor[]; 101 extern const wchar_t kRegVersionMinor[]; 102 extern const wchar_t kRegPublisher[]; 103 104 // These are command line switches passed to chrome to start it as a process 105 // used as a logon stub. 106 extern const char kGcpwSigninSwitch[]; 107 extern const char kPrefillEmailSwitch[]; 108 extern const char kEmailDomainsSwitch[]; 109 extern const char kGaiaIdSwitch[]; 110 extern const char kGcpwEndpointPathSwitch[]; 111 extern const char kGcpwAdditionalOauthScopes[]; 112 extern const char kShowTosSwitch[]; 113 114 // Parameter appended to sign in URL to pass valid signin domains to the inline 115 // login handler. These domains are separated by ','. 116 extern const char kEmailDomainsSigninPromoParameter[]; 117 extern const char kEmailDomainsSeparator[]; 118 extern const char kValidateGaiaIdSigninPromoParameter[]; 119 extern const char kGcpwEndpointPathPromoParameter[]; 120 121 // Crashpad related constants. 122 extern const wchar_t kRunAsCrashpadHandlerEntryPoint[]; 123 124 // Flags to manipulate behavior of Chrome when importing credentials for the 125 // account signs in through GCPW. 126 extern const wchar_t kAllowImportOnlyOnFirstRun[]; 127 extern const wchar_t kAllowImportWhenPrimaryAccountExists[]; 128 129 // HKCU account information path in the hive of the OS user. 130 extern const wchar_t kRegHkcuAccountsPath[]; 131 132 } // namespace credential_provider 133 134 #endif // CHROME_CREDENTIAL_PROVIDER_COMMON_GCP_STRINGS_H_ 135