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 const GURL& get_check_connection_info_url() const; 39 40 const std::string& oauth2_chrome_client_id() const; 41 const std::string& oauth2_chrome_client_secret() const; 42 const GURL& client_login_to_oauth2_url() const; 43 const GURL& oauth2_auth_url() const; 44 const GURL& oauth2_token_url() const; 45 const GURL& oauth2_issue_token_url() const; 46 const GURL& oauth2_token_info_url() const; 47 const GURL& oauth2_revoke_url() const; 48 49 const GURL& gaia_login_form_realm() const; 50 51 private: 52 GaiaUrls(); 53 ~GaiaUrls(); 54 55 friend struct DefaultSingletonTraits<GaiaUrls>; 56 57 GURL gaia_url_; 58 GURL captcha_base_url_; 59 60 GURL lso_origin_url_; 61 GURL google_apis_origin_url_; 62 63 GURL client_login_url_; 64 GURL service_login_url_; 65 GURL service_login_auth_url_; 66 GURL service_logout_url_; 67 GURL issue_auth_token_url_; 68 GURL get_user_info_url_; 69 GURL token_auth_url_; 70 GURL merge_session_url_; 71 GURL get_oauth_token_url_; 72 GURL oauth_get_access_token_url_; 73 GURL oauth_wrap_bridge_url_; 74 GURL oauth_user_info_url_; 75 GURL oauth_revoke_token_url_; 76 GURL oauth1_login_url_; 77 GURL list_accounts_url_; 78 GURL embedded_signin_url_; 79 GURL add_account_url_; 80 GURL get_check_connection_info_url_; 81 82 std::string oauth2_chrome_client_id_; 83 std::string oauth2_chrome_client_secret_; 84 85 GURL client_login_to_oauth2_url_; 86 GURL oauth2_auth_url_; 87 GURL oauth2_token_url_; 88 GURL oauth2_issue_token_url_; 89 GURL oauth2_token_info_url_; 90 GURL oauth2_revoke_url_; 91 92 GURL gaia_login_form_realm_; 93 94 DISALLOW_COPY_AND_ASSIGN(GaiaUrls); 95 }; 96 97 #endif // GOOGLE_APIS_GAIA_GAIA_URLS_H_ 98