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