• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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 GOOGLE_APIS_GAIA_GAIA_URLS_H_
6 #define GOOGLE_APIS_GAIA_GAIA_URLS_H_
7 
8 #include <string>
9 
10 #include "base/memory/singleton.h"
11 #include "url/gurl.h"
12 
13 // A signleton that provides all the URLs that are used for connecting to GAIA.
14 class GaiaUrls {
15  public:
16   static GaiaUrls* GetInstance();
17 
18   // The URLs for different calls in the Google Accounts programmatic login API.
19   const GURL& gaia_url() const;
20   const GURL& captcha_base_url() const;
21   const GURL& client_login_url() const;
22   const GURL& service_login_url() const;
23   const GURL& service_login_auth_url() const;
24   const GURL& service_logout_url() const;
25   const GURL& issue_auth_token_url() const;
26   const GURL& get_user_info_url() const;
27   const GURL& token_auth_url() const;
28   const GURL& merge_session_url() const;
29   const GURL& get_oauth_token_url() const;
30   const GURL& oauth_get_access_token_url() const;
31   const GURL& oauth_wrap_bridge_url() const;
32   const GURL& oauth_user_info_url() const;
33   const GURL& oauth_revoke_token_url() const;
34   const GURL& oauth1_login_url() const;
35   const GURL& list_accounts_url() const;
36   const GURL& embedded_signin_url() const;
37   const GURL& add_account_url() const;
38 
39   const std::string& oauth2_chrome_client_id() const;
40   const std::string& oauth2_chrome_client_secret() const;
41   const GURL& client_login_to_oauth2_url() const;
42   const GURL& oauth2_auth_url() const;
43   const GURL& oauth2_token_url() const;
44   const GURL& oauth2_issue_token_url() const;
45   const GURL& oauth2_token_info_url() const;
46   const GURL& oauth2_revoke_url() const;
47 
48   const GURL& gaia_login_form_realm() const;
49 
50  private:
51   GaiaUrls();
52   ~GaiaUrls();
53 
54   friend struct DefaultSingletonTraits<GaiaUrls>;
55 
56   GURL gaia_url_;
57   GURL captcha_base_url_;
58 
59   GURL lso_origin_url_;
60   GURL google_apis_origin_url_;
61 
62   GURL client_login_url_;
63   GURL service_login_url_;
64   GURL service_login_auth_url_;
65   GURL service_logout_url_;
66   GURL issue_auth_token_url_;
67   GURL get_user_info_url_;
68   GURL token_auth_url_;
69   GURL merge_session_url_;
70   GURL get_oauth_token_url_;
71   GURL oauth_get_access_token_url_;
72   GURL oauth_wrap_bridge_url_;
73   GURL oauth_user_info_url_;
74   GURL oauth_revoke_token_url_;
75   GURL oauth1_login_url_;
76   GURL list_accounts_url_;
77   GURL embedded_signin_url_;
78   GURL add_account_url_;
79 
80   std::string oauth2_chrome_client_id_;
81   std::string oauth2_chrome_client_secret_;
82 
83   GURL client_login_to_oauth2_url_;
84   GURL oauth2_auth_url_;
85   GURL oauth2_token_url_;
86   GURL oauth2_issue_token_url_;
87   GURL oauth2_token_info_url_;
88   GURL oauth2_revoke_url_;
89 
90   GURL gaia_login_form_realm_;
91 
92   DISALLOW_COPY_AND_ASSIGN(GaiaUrls);
93 };
94 
95 #endif  // GOOGLE_APIS_GAIA_GAIA_URLS_H_
96