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