| Index: chrome/common/net/gaia/oauth2_mint_token_flow.h
|
| diff --git a/chrome/common/net/gaia/oauth2_mint_token_flow.h b/chrome/common/net/gaia/oauth2_mint_token_flow.h
|
| deleted file mode 100644
|
| index 2fb64cee7706377c2c4678c2ce90b91ac7b53277..0000000000000000000000000000000000000000
|
| --- a/chrome/common/net/gaia/oauth2_mint_token_flow.h
|
| +++ /dev/null
|
| @@ -1,153 +0,0 @@
|
| -// Copyright (c) 2012 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.
|
| -
|
| -#ifndef CHROME_COMMON_NET_GAIA_OAUTH2_MINT_TOKEN_FLOW_H_
|
| -#define CHROME_COMMON_NET_GAIA_OAUTH2_MINT_TOKEN_FLOW_H_
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "base/string16.h"
|
| -#include "chrome/common/net/gaia/oauth2_api_call_flow.h"
|
| -
|
| -class GoogleServiceAuthError;
|
| -class OAuth2MintTokenFlowTest;
|
| -
|
| -namespace base {
|
| -class DictionaryValue;
|
| -}
|
| -
|
| -namespace content {
|
| -class URLFetcher;
|
| -}
|
| -
|
| -namespace net {
|
| -class URLRequestContextGetter;
|
| -}
|
| -
|
| -// IssueAdvice: messages to show to the user to get a user's approval.
|
| -// The structure is as follows:
|
| -// * Description 1
|
| -// - Detail 1.1
|
| -// - Details 1.2
|
| -// * Description 2
|
| -// - Detail 2.1
|
| -// - Detail 2.2
|
| -// - Detail 2.3
|
| -// * Description 3
|
| -// - Detail 3.1
|
| -struct IssueAdviceInfoEntry {
|
| - public:
|
| - IssueAdviceInfoEntry();
|
| - ~IssueAdviceInfoEntry();
|
| -
|
| - string16 description;
|
| - std::vector<string16> details;
|
| -
|
| - bool operator==(const IssueAdviceInfoEntry& rhs) const;
|
| -};
|
| -
|
| -typedef std::vector<IssueAdviceInfoEntry> IssueAdviceInfo;
|
| -
|
| -// This class implements the OAuth2 flow to Google to mint an OAuth2
|
| -// token for the given client and the given set of scopes from the
|
| -// OAuthLogin scoped "master" OAuth2 token for the user logged in to
|
| -// Chrome.
|
| -class OAuth2MintTokenFlow : public OAuth2ApiCallFlow {
|
| - public:
|
| - // There are four differnt modes when minting a token to grant
|
| - // access to third-party app for a user.
|
| - enum Mode {
|
| - // Get the messages to display to the user without minting a token.
|
| - MODE_ISSUE_ADVICE,
|
| - // Record a grant but do not get a token back.
|
| - MODE_RECORD_GRANT,
|
| - // Mint a token for an existing grant.
|
| - MODE_MINT_TOKEN_NO_FORCE,
|
| - // Mint a token forcefully even if there is no existing grant.
|
| - MODE_MINT_TOKEN_FORCE,
|
| - };
|
| -
|
| - // Parameters needed to mint a token.
|
| - struct Parameters {
|
| - public:
|
| - Parameters();
|
| - Parameters(const std::string& rt,
|
| - const std::string& eid,
|
| - const std::string& cid,
|
| - const std::vector<std::string>& scopes_arg,
|
| - Mode mode_arg);
|
| - ~Parameters();
|
| -
|
| - std::string login_refresh_token;
|
| - std::string extension_id;
|
| - std::string client_id;
|
| - std::vector<std::string> scopes;
|
| - Mode mode;
|
| - };
|
| -
|
| - class Delegate {
|
| - public:
|
| - virtual void OnMintTokenSuccess(const std::string& access_token) {}
|
| - virtual void OnIssueAdviceSuccess(const IssueAdviceInfo& issue_advice) {}
|
| - virtual void OnMintTokenFailure(const GoogleServiceAuthError& error) {}
|
| -
|
| - protected:
|
| - virtual ~Delegate() {}
|
| - };
|
| -
|
| - OAuth2MintTokenFlow(net::URLRequestContextGetter* context,
|
| - Delegate* delegate,
|
| - const Parameters& parameters);
|
| - virtual ~OAuth2MintTokenFlow();
|
| -
|
| - // Starts the flow, and deletes |this| when done. Useful when the caller
|
| - // does not care about the response (|delegate_| is NULL).
|
| - void FireAndForget();
|
| -
|
| - protected:
|
| - // Implementation of template methods in OAuth2ApiCallFlow.
|
| - virtual GURL CreateApiCallUrl() OVERRIDE;
|
| - virtual std::string CreateApiCallBody() OVERRIDE;
|
| -
|
| - virtual void ProcessApiCallSuccess(
|
| - const net::URLFetcher* source) OVERRIDE;
|
| - virtual void ProcessApiCallFailure(
|
| - const net::URLFetcher* source) OVERRIDE;
|
| - virtual void ProcessNewAccessToken(const std::string& access_token) OVERRIDE;
|
| - virtual void ProcessMintAccessTokenFailure(
|
| - const GoogleServiceAuthError& error) OVERRIDE;
|
| -
|
| - private:
|
| - friend class OAuth2MintTokenFlowTest;
|
| - FRIEND_TEST_ALL_PREFIXES(OAuth2MintTokenFlowTest, CreateApiCallBody);
|
| - FRIEND_TEST_ALL_PREFIXES(OAuth2MintTokenFlowTest, ParseIssueAdviceResponse);
|
| - FRIEND_TEST_ALL_PREFIXES(OAuth2MintTokenFlowTest, ParseMintTokenResponse);
|
| - FRIEND_TEST_ALL_PREFIXES(OAuth2MintTokenFlowTest, ProcessApiCallSuccess);
|
| - FRIEND_TEST_ALL_PREFIXES(OAuth2MintTokenFlowTest, ProcessApiCallFailure);
|
| - FRIEND_TEST_ALL_PREFIXES(OAuth2MintTokenFlowTest,
|
| - ProcessMintAccessTokenFailure);
|
| -
|
| - void ReportSuccess(const std::string& access_token);
|
| - void ReportIssueAdviceSuccess(const IssueAdviceInfo& issue_advice);
|
| - void ReportFailure(const GoogleServiceAuthError& error);
|
| -
|
| - static bool ParseIssueAdviceResponse(
|
| - const base::DictionaryValue* dict, IssueAdviceInfo* issue_advice);
|
| - static bool ParseMintTokenResponse(
|
| - const base::DictionaryValue* dict, std::string* access_token);
|
| -
|
| - net::URLRequestContextGetter* context_;
|
| - Delegate* delegate_;
|
| - Parameters parameters_;
|
| - // If true, |this| owns itself and will delete itself after reporting
|
| - // success or failure.
|
| - bool delete_when_done_;
|
| - base::WeakPtrFactory<OAuth2MintTokenFlow> weak_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(OAuth2MintTokenFlow);
|
| -};
|
| -
|
| -#endif // CHROME_COMMON_NET_GAIA_OAUTH2_MINT_TOKEN_FLOW_H_
|
|
|