gaia_urls.h revision eb525c5499e34cc9c4b825d6d9e75bb07cc06ace
14df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner// Copyright (c) 2012 The Chromium Authors. All rights reserved.
29769ab22265b313171d201b5928688524a01bd87Misha Brukman// Use of this source code is governed by a BSD-style license that can be
36fbcc26f1460eaee4e0eb8b426fc1ff0c7af11beJohn Criswell// found in the LICENSE file.
46fbcc26f1460eaee4e0eb8b426fc1ff0c7af11beJohn Criswell
57ed47a13356daed2a34cd2209a31f92552e3bdd8Chris Lattner#ifndef GOOGLE_APIS_GAIA_GAIA_URLS_H_
67ed47a13356daed2a34cd2209a31f92552e3bdd8Chris Lattner#define GOOGLE_APIS_GAIA_GAIA_URLS_H_
79769ab22265b313171d201b5928688524a01bd87Misha Brukman
86fbcc26f1460eaee4e0eb8b426fc1ff0c7af11beJohn Criswell#include <string>
94df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner
104df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner#include "base/memory/singleton.h"
114df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner#include "googleurl/src/gurl.h"
121c56b730a6313886076d7b293a126ae5576f5288Chris Lattner
131c56b730a6313886076d7b293a126ae5576f5288Chris Lattner// A signleton that provides all the URLs that are used for connecting to GAIA.
144df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattnerclass GaiaUrls {
154df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner public:
164df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner  static GaiaUrls* GetInstance();
174df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner
184df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner  // The URLs for different calls in the Google Accounts programmatic login API.
198e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& captcha_url_prefix() const;
208e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman
218e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const GURL& gaia_url() const;
228e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& client_login_url() const;
238e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& service_login_url() const;
248e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& service_logout_url() const;
258e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& issue_auth_token_url() const;
268e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& get_user_info_url() const;
278e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& token_auth_url() const;
288e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& merge_session_url() const;
298e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& get_oauth_token_url() const;
308e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& oauth_get_access_token_url() const;
318e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& oauth_wrap_bridge_url() const;
328e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& oauth_user_info_url() const;
338e78cc4e130a8773cc8a2be2a94c4a97317ac383Dan Gohman  const std::string& oauth_revoke_token_url() const;
341c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  const std::string& oauth1_login_url() const;
354df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner
364df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner  const std::string& oauth1_login_scope() const;
374df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner  const std::string& oauth_wrap_bridge_user_info_scope() const;
384df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner
394df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner  const std::string& oauth2_chrome_client_id() const;
401c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  const std::string& oauth2_chrome_client_secret() const;
4136f78c8935da34074ccd06d5674e45b9cd45da8bChris Lattner  const std::string& client_login_to_oauth2_url() const;
42d0fde30ce850b78371fd1386338350591f9ff494Brian Gaeke  const std::string& oauth2_auth_url() const;
43d0fde30ce850b78371fd1386338350591f9ff494Brian Gaeke  const std::string& oauth2_token_url() const;
44d0fde30ce850b78371fd1386338350591f9ff494Brian Gaeke  const std::string& oauth2_issue_token_url() const;
451c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  const std::string& oauth2_token_info_url() const;
461c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  const std::string& oauth2_revoke_url() const;
4714f1703ae33e13dbcadd701603fd4d7a6f7010b9Andrew Lenharth
481c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  const std::string& gaia_login_form_realm() const;
496df60a9effe4d20a48cfd9d105c0ab3c5dc3e690Reid Spencer
506df60a9effe4d20a48cfd9d105c0ab3c5dc3e690Reid Spencer private:
51e90c5cb747631b315350e7ee7424048c7778bdf9Chris Lattner  GaiaUrls();
529dc9e81aa7412b329bbaf51a589a81475214802bChris Lattner  ~GaiaUrls();
531c56b730a6313886076d7b293a126ae5576f5288Chris Lattner
541c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  friend struct DefaultSingletonTraits<GaiaUrls>;
551c56b730a6313886076d7b293a126ae5576f5288Chris Lattner
56ab8c565768ff7485f40cbb65e2914f9046e743d4Chris Lattner  std::string captcha_url_prefix_;
57cb74993bdc37681ddbb80fa361575107afae1350Dan Gohman
58cb74993bdc37681ddbb80fa361575107afae1350Dan Gohman  GURL gaia_url_;
59ab8c565768ff7485f40cbb65e2914f9046e743d4Chris Lattner  std::string lso_origin_url_;
60ab8c565768ff7485f40cbb65e2914f9046e743d4Chris Lattner  std::string google_apis_origin_url_;
61cb74993bdc37681ddbb80fa361575107afae1350Dan Gohman  std::string client_login_url_;
621c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  std::string service_login_url_;
631c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  std::string service_logout_url_;
641c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  std::string issue_auth_token_url_;
651c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  std::string get_user_info_url_;
661c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  std::string token_auth_url_;
671c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  std::string merge_session_url_;
689769ab22265b313171d201b5928688524a01bd87Misha Brukman  std::string get_oauth_token_url_;
6964d237cfae6bcb11157d525c79b5a5335e30370bDan Gohman  std::string oauth_get_access_token_url_;
70fc2a3ed0c9e32cf7edaf5030fa0972b916cc5f0bDan Gohman  std::string oauth_wrap_bridge_url_;
711c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  std::string oauth_user_info_url_;
721c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  std::string oauth_revoke_token_url_;
731c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  std::string oauth1_login_url_;
741997473cf72957d0e70322e2fe6fe2ab141c58a6Devang Patel
75ab8c565768ff7485f40cbb65e2914f9046e743d4Chris Lattner  std::string oauth1_login_scope_;
761c56b730a6313886076d7b293a126ae5576f5288Chris Lattner  std::string oauth_wrap_bridge_user_info_scope_;
771c56b730a6313886076d7b293a126ae5576f5288Chris Lattner
78ef1cfac9e50def9097cd3e3ab3c5cad7f4c758ccDan Gohman  std::string oauth2_chrome_client_id_;
79ef1cfac9e50def9097cd3e3ab3c5cad7f4c758ccDan Gohman  std::string oauth2_chrome_client_secret_;
80ef1cfac9e50def9097cd3e3ab3c5cad7f4c758ccDan Gohman  std::string client_login_to_oauth2_url_;
813da848bbda62b25c12335998aaa44ab361f0bf15Dan Gohman  std::string oauth2_auth_url_;
82ef1cfac9e50def9097cd3e3ab3c5cad7f4c758ccDan Gohman  std::string oauth2_token_url_;
83fc2a3ed0c9e32cf7edaf5030fa0972b916cc5f0bDan Gohman  std::string oauth2_issue_token_url_;
84fc2a3ed0c9e32cf7edaf5030fa0972b916cc5f0bDan Gohman  std::string oauth2_token_info_url_;
85dd298c8c6eb036baf35bf5a559c59d2afd2c7944Misha Brukman  std::string oauth2_revoke_url_;
86fc2a3ed0c9e32cf7edaf5030fa0972b916cc5f0bDan Gohman
87fc2a3ed0c9e32cf7edaf5030fa0972b916cc5f0bDan Gohman  std::string gaia_login_form_realm_;
88fc2a3ed0c9e32cf7edaf5030fa0972b916cc5f0bDan Gohman
89fc2a3ed0c9e32cf7edaf5030fa0972b916cc5f0bDan Gohman  DISALLOW_COPY_AND_ASSIGN(GaiaUrls);
90fc2a3ed0c9e32cf7edaf5030fa0972b916cc5f0bDan Gohman};
913da848bbda62b25c12335998aaa44ab361f0bf15Dan Gohman
924df22c0100fe27f19e6f4874f24eedd0742b9cf4Chris Lattner#endif  // GOOGLE_APIS_GAIA_GAIA_URLS_H_
931c56b730a6313886076d7b293a126ae5576f5288Chris Lattner