0

Reland "Add SODA API Key"

This is a reland of b01fb51632

Reason for revert: Did not roll out internal DEPS
(https://chrome-internal-review.googlesource.com/c/chrome/src-internal/+/3179564)

Original change's description:
> Add SODA API Key
>
> This CL adds an API key for the Speech On-Device API (SODA). Usage of
> the API key is outlined here: go/securing-soda-on-chrome.
>
> Bug: 1107615
> Change-Id: Ic92418407e17a88426559251e77797bd0b34818b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2309133
> Reviewed-by: David Roger <droger@chromium.org>
> Commit-Queue: Evan Liu <evliu@google.com>
> Cr-Commit-Position: refs/heads/master@{#790550}

Bug: 1107615
Change-Id: Id15cbafdc68bf75a06d21c8b70bbfeb1a63db83c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2315237
Reviewed-by: David Roger <droger@chromium.org>
Commit-Queue: David Roger <droger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#791181}
This commit is contained in:
evliu
2020-07-23 09:17:21 +00:00
committed by Commit Bot
parent cfab2fd757
commit dcab71341e
2 changed files with 18 additions and 0 deletions

@ -90,6 +90,11 @@
#define GOOGLE_API_KEY_SHARING DUMMY_API_TOKEN
#endif
// API key for the Speech On-Device API (SODA).
#if !defined(GOOGLE_API_KEY_SODA)
#define GOOGLE_API_KEY_SODA DUMMY_API_TOKEN
#endif
// These are used as shortcuts for developers and users providing
// OAuth credentials via preprocessor defines or environment
// variables. If set, they will be used to replace any of the client
@ -138,6 +143,10 @@ class APIKeyCache {
GOOGLE_API_KEY_SHARING, STRINGIZE_NO_EXPANSION(GOOGLE_API_KEY_SHARING),
nullptr, std::string(), environment.get(), command_line, gaia_config);
api_key_soda_ = CalculateKeyValue(
GOOGLE_API_KEY_SODA, STRINGIZE_NO_EXPANSION(GOOGLE_API_KEY_SODA),
nullptr, std::string(), environment.get(), command_line, gaia_config);
metrics_key_ = CalculateKeyValue(
GOOGLE_METRICS_SIGNING_KEY,
STRINGIZE_NO_EXPANSION(GOOGLE_METRICS_SIGNING_KEY), nullptr,
@ -203,6 +212,7 @@ class APIKeyCache {
std::string api_key_non_stable() const { return api_key_non_stable_; }
std::string api_key_remoting() const { return api_key_remoting_; }
std::string api_key_sharing() const { return api_key_sharing_; }
std::string api_key_soda() const { return api_key_soda_; }
std::string metrics_key() const { return metrics_key_; }
@ -313,6 +323,7 @@ class APIKeyCache {
std::string api_key_non_stable_;
std::string api_key_remoting_;
std::string api_key_sharing_;
std::string api_key_soda_;
std::string metrics_key_;
std::string client_ids_[CLIENT_NUM_ITEMS];
std::string client_secrets_[CLIENT_NUM_ITEMS];
@ -341,6 +352,10 @@ std::string GetSharingAPIKey() {
return g_api_key_cache.Get().api_key_sharing();
}
std::string GetSodaAPIKey() {
return g_api_key_cache.Get().api_key_soda();
}
#if defined(OS_IOS)
void SetAPIKey(const std::string& api_key) {
g_api_key_cache.Get().set_api_key(api_key);

@ -80,6 +80,9 @@ std::string GetRemotingAPIKey();
// Retrieves the Sharing API Key.
std::string GetSharingAPIKey();
// Retrieves the Speech On-Device API (SODA) API Key.
std::string GetSodaAPIKey();
#if defined(OS_IOS)
// Sets the API key. This should be called as early as possible before this
// API key is even accessed.