// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef REMOTING_HOST_SETUP_OAUTH_HELPER_H #define REMOTING_HOST_SETUP_OAUTH_HELPER_H #include <string> namespace remoting { // Gets the OAuth scope of the host's refresh token. std::string GetOauthScope(); // Gets the default redirect URL for the OAuth dance. std::string GetDefaultOauthRedirectUrl(); // Gets a URL at which the OAuth dance starts. std::string GetOauthStartUrl(const std::string& redirect_url); // Returns the OAuth authorization code embedded in a URL, or the empty string // if there is no such code. // To get an OAuth authorization code, (i) start a browser, (ii) navigate it // to |GetOauthStartUrl()|, (iii) ask the user to sign on to their account, // and grant the requested permissions, (iv) monitor the URLs that the browser // shows, passing each one to |GetOauthCodeInUrl()|, until that function returns // a non-empty string. That string is the authorization code. std::string GetOauthCodeInUrl(const std::string& url, const std::string& redirect_url); } // namespace remoting #endif // REMOTING_HOST_SETUP_OAUTH_HELPER_H