Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3079)

Unified Diff: blimp/client/core/session/identity_source.cc

Issue 2624903006: Remove all blimp client code. (Closed)
Patch Set: Update buildbot configuration Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « blimp/client/core/session/identity_source.h ('k') | blimp/client/core/session/identity_source_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: blimp/client/core/session/identity_source.cc
diff --git a/blimp/client/core/session/identity_source.cc b/blimp/client/core/session/identity_source.cc
deleted file mode 100644
index 2c1deffb680fa4f8b8eedde9fd375cf39175470b..0000000000000000000000000000000000000000
--- a/blimp/client/core/session/identity_source.cc
+++ /dev/null
@@ -1,149 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "blimp/client/core/session/identity_source.h"
-
-#include <utility>
-
-#include "base/command_line.h"
-#include "base/memory/ptr_util.h"
-#include "blimp/client/core/switches/blimp_client_switches.h"
-
-namespace blimp {
-namespace client {
-
-namespace {
-// OAuth2 token scope.
-const char kOAuth2TokenScope[] =
- "https://www.googleapis.com/auth/userinfo.email";
-
-// Max retry times when OAuth2 token request is canceled.
-const int kTokenRequestCancelMaxRetry = 3;
-} // namespace
-
-IdentitySource::IdentitySource(
- std::unique_ptr<IdentityProvider> identity_provider,
- const base::Callback<void(const GoogleServiceAuthError&)>& error_callback,
- const TokenCallback& callback)
- : OAuth2TokenService::Consumer("blimp_client"),
- identity_provider_(std::move(identity_provider)),
- error_callback_(error_callback),
- token_callback_(callback),
- is_fetching_token_(false),
- retry_times_(0) {
- DCHECK(identity_provider_.get());
- identity_provider_->AddObserver(this);
-}
-
-IdentitySource::~IdentitySource() {
- identity_provider_->RemoveActiveAccountRefreshTokenObserver(this);
- identity_provider_->RemoveObserver(this);
-}
-
-void IdentitySource::Connect() {
- if (is_fetching_token_) {
- return;
- }
-
- // Pass empty token to assignment source if we have command line switches.
- if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kEngineIP)) {
- if (token_callback_) {
- token_callback_.Run(std::string());
- }
- return;
- }
-
- // User must sign in first to get an OAuth2 token.
- const std::string& account_id = identity_provider_->GetActiveAccountId();
- if (account_id.empty()) {
- VLOG(1) << "User is not signed in before connection to Blimp engine.";
- return;
- }
-
- account_id_ = account_id;
- is_fetching_token_ = true;
- FetchAuthToken();
-}
-
-std::string IdentitySource::GetActiveUsername() {
- return identity_provider_->GetActiveUsername();
-}
-
-// Add sign in state observer.
-void IdentitySource::AddObserver(IdentityProvider::Observer* observer) {
- DCHECK(identity_provider_);
- identity_provider_->AddObserver(observer);
-}
-
-// Remove sign in state observer.
-void IdentitySource::RemoveObserver(IdentityProvider::Observer* observer) {
- DCHECK(identity_provider_);
- identity_provider_->RemoveObserver(observer);
-}
-
-void IdentitySource::OnGetTokenSuccess(
- const OAuth2TokenService::Request* request,
- const std::string& access_token,
- const base::Time& expiration_time) {
- token_request_.reset();
- is_fetching_token_ = false;
- retry_times_ = 0;
-
- if (token_callback_) {
- token_callback_.Run(access_token);
- }
-}
-
-// Fail to get the token after retries attempts in native layer and Java layer.
-void IdentitySource::OnGetTokenFailure(
- const OAuth2TokenService::Request* request,
- const GoogleServiceAuthError& error) {
- token_request_.reset();
-
- // Retry the request.
- // The embedder can invalidate the refresh token at any time, this happens
- // during application start up or when user switches account.
- // OnGetTokenFailure will be called and the error code is REQUEST_CANCELED.
- if (error.state() == GoogleServiceAuthError::State::REQUEST_CANCELED &&
- retry_times_ < kTokenRequestCancelMaxRetry) {
- retry_times_++;
- VLOG(1) << "Retrying to get OAuth2 token due to request cancellation. "
- "retry time = "
- << retry_times_;
- FetchAuthToken();
- return;
- }
-
- // If request failure was not caused by cancellation, or reached max retry
- // times on request cancellation, propagate the error to embedder.
- is_fetching_token_ = false;
- retry_times_ = 0;
- VLOG(1) << "OAuth2 token error: " << error.state();
- error_callback_.Run(error);
-}
-
-void IdentitySource::OnRefreshTokenAvailable(const std::string& account_id) {
- if (account_id != account_id_) {
- return;
- }
-
- identity_provider_->RemoveActiveAccountRefreshTokenObserver(this);
- FetchAuthToken();
-}
-
-void IdentitySource::FetchAuthToken() {
- OAuth2TokenService* token_service = identity_provider_->GetTokenService();
- DCHECK(token_service);
-
- if (token_service->RefreshTokenIsAvailable(account_id_)) {
- OAuth2TokenService::ScopeSet scopes;
- scopes.insert(kOAuth2TokenScope);
- token_request_ = token_service->StartRequest(account_id_, scopes, this);
- } else {
- identity_provider_->AddActiveAccountRefreshTokenObserver(this);
- }
-}
-
-} // namespace client
-} // namespace blimp
« no previous file with comments | « blimp/client/core/session/identity_source.h ('k') | blimp/client/core/session/identity_source_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698