// Copyright 2020 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_EXTENSIONS_API_IDENTITY_IDENTITY_TOKEN_CACHE_H_ #define CHROME_BROWSER_EXTENSIONS_API_IDENTITY_IDENTITY_TOKEN_CACHE_H_ #include <map> #include <set> #include <string> #include "base/time/time.h" #include "chrome/browser/extensions/api/identity/extension_token_key.h" #include "google_apis/gaia/oauth2_mint_token_flow.h" #include "third_party/abseil-cpp/absl/types/variant.h" namespace extensions { class IdentityTokenCacheValue { … }; // In-memory cache of OAuth2 access tokens that are requested by extensions // through the `getAuthToken` API. Also caches intermediate short-lived values // used at different stages of the `getAuthToken` flow before a token is // obtained. The cache automatically handles token expiration. Extensions can // manually remove tokens from the cache using `removeCachedAuthToken` API. // // chrome://identity-internals provides a view of cache's content for debugging. class IdentityTokenCache { … }; } // namespace extensions #endif // CHROME_BROWSER_EXTENSIONS_API_IDENTITY_IDENTITY_TOKEN_CACHE_H_