gaia_urls.h revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
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
12// A signleton that provides all the URLs that are used for connecting to GAIA.
13class GaiaUrls {
14 public:
15  static GaiaUrls* GetInstance();
16
17  // The URLs for different calls in the Google Accounts programmatic login API.
18  const std::string& captcha_url_prefix();
19
20  const std::string& gaia_origin_url();
21  const std::string& client_login_url();
22  const std::string& service_login_url();
23  const std::string& service_logout_url();
24  const std::string& issue_auth_token_url();
25  const std::string& get_user_info_url();
26  const std::string& token_auth_url();
27  const std::string& merge_session_url();
28  const std::string& get_oauth_token_url();
29  const std::string& oauth_get_access_token_url();
30  const std::string& oauth_wrap_bridge_url();
31  const std::string& oauth_user_info_url();
32  const std::string& oauth_revoke_token_url();
33  const std::string& oauth1_login_url();
34
35  const std::string& oauth1_login_scope();
36  const std::string& oauth_wrap_bridge_user_info_scope();
37
38  const std::string& oauth2_chrome_client_id();
39  const std::string& oauth2_chrome_client_secret();
40  const std::string& client_login_to_oauth2_url();
41  const std::string& oauth2_token_url();
42  const std::string& oauth2_issue_token_url();
43  const std::string& oauth2_revoke_url();
44
45  const std::string& gaia_login_form_realm();
46
47 private:
48  GaiaUrls();
49  ~GaiaUrls();
50
51  friend struct DefaultSingletonTraits<GaiaUrls>;
52
53  std::string captcha_url_prefix_;
54
55  std::string gaia_origin_url_;
56  std::string lso_origin_url_;
57  std::string google_apis_origin_url_;
58  std::string client_login_url_;
59  std::string service_login_url_;
60  std::string service_logout_url_;
61  std::string issue_auth_token_url_;
62  std::string get_user_info_url_;
63  std::string token_auth_url_;
64  std::string merge_session_url_;
65  std::string get_oauth_token_url_;
66  std::string oauth_get_access_token_url_;
67  std::string oauth_wrap_bridge_url_;
68  std::string oauth_user_info_url_;
69  std::string oauth_revoke_token_url_;
70  std::string oauth1_login_url_;
71
72  std::string oauth1_login_scope_;
73  std::string oauth_wrap_bridge_user_info_scope_;
74
75  std::string oauth2_chrome_client_id_;
76  std::string oauth2_chrome_client_secret_;
77  std::string client_login_to_oauth2_url_;
78  std::string oauth2_token_url_;
79  std::string oauth2_issue_token_url_;
80  std::string oauth2_revoke_url_;
81
82  std::string gaia_login_form_realm_;
83
84  DISALLOW_COPY_AND_ASSIGN(GaiaUrls);
85};
86
87#endif  // GOOGLE_APIS_GAIA_GAIA_URLS_H_
88