gaia_urls.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  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. #ifndef GOOGLE_APIS_GAIA_GAIA_URLS_H_
  5. #define GOOGLE_APIS_GAIA_GAIA_URLS_H_
  6. #include <string>
  7. #include "base/memory/singleton.h"
  8. #include "url/gurl.h"
  9. #include "url/origin.h"
  10. // A signleton that provides all the URLs that are used for connecting to GAIA.
  11. //
  12. // Please update InitializeFromConfig() when adding new URLs.
  13. class GaiaUrls {
  14. public:
  15. static GaiaUrls* GetInstance();
  16. GaiaUrls(const GaiaUrls&) = delete;
  17. GaiaUrls& operator=(const GaiaUrls&) = delete;
  18. // The URLs for different calls in the Google Accounts programmatic login API.
  19. const GURL& google_url() const;
  20. const GURL& secure_google_url() const;
  21. const url::Origin& gaia_origin() const;
  22. GURL gaia_url() const;
  23. const GURL& client_login_url() const;
  24. const GURL& service_login_url() const;
  25. const GURL& embedded_setup_chromeos_url(unsigned version) const;
  26. const GURL& embedded_setup_chromeos_kid_signup_url() const;
  27. const GURL& embedded_setup_chromeos_kid_signin_url() const;
  28. const GURL& embedded_setup_windows_url() const;
  29. const GURL& embedded_reauth_chromeos_url() const;
  30. const GURL& signin_chrome_sync_dice() const;
  31. const GURL& signin_chrome_sync_keys_retrieval_url() const;
  32. const GURL& signin_chrome_sync_keys_recoverability_degraded_url() const;
  33. const GURL& service_login_auth_url() const;
  34. const GURL& service_logout_url() const;
  35. const GURL& token_auth_url() const;
  36. const GURL& merge_session_url() const;
  37. const GURL& get_oauth_token_url() const;
  38. const GURL& oauth_get_access_token_url() const;
  39. const GURL& oauth_multilogin_url() const;
  40. const GURL& oauth_wrap_bridge_url() const;
  41. const GURL& oauth_user_info_url() const;
  42. const GURL& oauth_revoke_token_url() const;
  43. const GURL& oauth1_login_url() const;
  44. const GURL& embedded_signin_url() const;
  45. const GURL& add_account_url() const;
  46. const GURL& reauth_url() const;
  47. const GURL& account_capabilities_url() const;
  48. const std::string& oauth2_chrome_client_id() const;
  49. const std::string& oauth2_chrome_client_secret() const;
  50. const GURL& oauth2_auth_url() const;
  51. const GURL& oauth2_token_url() const;
  52. const GURL& oauth2_issue_token_url() const;
  53. const GURL& oauth2_token_info_url() const;
  54. const GURL& oauth2_revoke_url() const;
  55. const GURL& reauth_api_url() const;
  56. // The base URL for communicating with the google api server.
  57. const GURL& google_apis_origin_url() const;
  58. GURL ListAccountsURLWithSource(const std::string& source);
  59. GURL LogOutURLWithSource(const std::string& source);
  60. GURL GetCheckConnectionInfoURLWithSource(const std::string& source);
  61. private:
  62. GaiaUrls();
  63. ~GaiaUrls();
  64. friend struct base::DefaultSingletonTraits<GaiaUrls>;
  65. friend class GaiaUrlsTest;
  66. void InitializeDefault();
  67. void InitializeFromConfig();
  68. GURL google_url_;
  69. GURL secure_google_url_;
  70. url::Origin gaia_origin_;
  71. GURL lso_origin_url_;
  72. GURL google_apis_origin_url_;
  73. GURL oauth_account_manager_origin_url_;
  74. GURL account_capabilities_origin_url_;
  75. GURL client_login_url_;
  76. GURL service_login_url_;
  77. GURL embedded_setup_chromeos_url_v2_;
  78. GURL embedded_setup_chromeos_kid_signup_url_;
  79. GURL embedded_setup_chromeos_kid_signin_url_;
  80. GURL embedded_setup_windows_url_;
  81. GURL embedded_reauth_chromeos_url_;
  82. GURL signin_chrome_sync_dice_;
  83. GURL signin_chrome_sync_keys_retrieval_url_;
  84. GURL signin_chrome_sync_keys_recoverability_degraded_url_;
  85. GURL service_login_auth_url_;
  86. GURL service_logout_url_;
  87. GURL continue_url_for_logout_;
  88. GURL token_auth_url_;
  89. GURL merge_session_url_;
  90. GURL get_oauth_token_url_;
  91. GURL oauth_get_access_token_url_;
  92. GURL oauth_wrap_bridge_url_;
  93. GURL oauth_multilogin_url_;
  94. GURL oauth_user_info_url_;
  95. GURL oauth_revoke_token_url_;
  96. GURL oauth1_login_url_;
  97. GURL list_accounts_url_;
  98. GURL embedded_signin_url_;
  99. GURL add_account_url_;
  100. GURL reauth_url_;
  101. GURL account_capabilities_url_;
  102. GURL get_check_connection_info_url_;
  103. std::string oauth2_chrome_client_id_;
  104. std::string oauth2_chrome_client_secret_;
  105. GURL oauth2_auth_url_;
  106. GURL oauth2_token_url_;
  107. GURL oauth2_issue_token_url_;
  108. GURL oauth2_token_info_url_;
  109. GURL oauth2_revoke_url_;
  110. GURL reauth_api_url_;
  111. };
  112. #endif // GOOGLE_APIS_GAIA_GAIA_URLS_H_