Home | History | Annotate | Download | only in gaia
      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